Intellij Idea 执行JUnit runner类时没有可用的任务

6tdlim6h  于 2023-01-08  发布在  其他
关注(0)|答案(8)|浏览(174)

我正在尝试在IntelliJ中运行Cucumber功能文件。
Cucumber Options指向了正确的文件夹,但是在尝试执行JUnit runner类时,我收到了"No tasks available"的通知。
我哪里做错了?

下面是我的build.gradle

plugins {
    id 'java'
}

sourceCompatibility = 1.8

apply plugin: 'java'

repositories {
    mavenCentral()
}

compileJava.options.encoding = "UTF-8"

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile 'io.cucumber:cucumber-java:4.7.1'
    compile 'org.seleniumhq.selenium:selenium-server:2.44.0'
    testImplementation 'io.cucumber:cucumber-java:4.7.1'
    compile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
    compile group: 'io.cucumber', name: 'cucumber-java', version: '4.7.1'
    compile group: 'io.cucumber', name: 'cucumber-junit', version: '4.7.1'
    compile group: 'io.cucumber', name: 'cucumber-core', version: '4.7.1'
    compile group: 'net.masterthought', name: 'cucumber-reporting', version: '3.20.0'
    compile group: 'io.cucumber', name: 'gherkin', version: '5.1.0'
    compile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
    compile group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '3.6.0'
}
ppcbkaq5

ppcbkaq51#

好吧,提出的解决方案都不起作用,但我终于想通了。
转到Settings > Build, Execution, Deployment > Build Tools > Gradle并将Run tests using:Gradle (Default)更改为IntelliJ IDEA

注:已找到解决方案here

7ajki6be

7ajki6be2#

当我遇到这个问题时(尝试运行测试时显示“No tasks available”(无可用任务)消息),我的解决方法是从Gradle视图重新导入项目。
Right-click在Gradle视图中的项目上,然后选择Reimport Gradle Project

nsc4cvqm

nsc4cvqm3#

我也遇到过同样的问题。使用Gradle时,请确保您的项目结构正确。您的测试应该位于src〉test〉java
这为我解决了这个问题。

lbsnaicq

lbsnaicq4#

“无可用任务”-我在尝试运行Spock测试时收到此消息。
原因是我没有正确配置gradle插件:

plugins {
    id 'java-library'
    id 'groovy' // this one is also necessary
}

确保您启用了“groovy”插件,然后重新导入您的项目。

kokeuurv

kokeuurv5#

我也遇到了同样的问题。当我在胶水中使用完整的 Package 名称时,它起作用了,这是我的:

...
    features = "src/test/resources/features",
    glue = {"test.java.stepdefinitions"},
    ...
q3aa0525

q3aa05256#

我也面临着类似的问题,在我的例子中,这是因为我在定义测试类时忘记使用“public”访问修饰符,显然在Junit4中,所有的测试类都应该是公共的。

dsf9zpds

dsf9zpds7#

当我尝试在Gradle项目中运行JUnit测试时,我遇到了同样的问题。解决方案在我的案例中有效。

kpbwa7wx

kpbwa7wx8#

在Android Studio中,打开Gradle面板,右键单击项目名称,然后单击重新加载Gradle项目

相关问题