Eclipse无法为Spock / Junit测试找到groovy类

时间:2018-04-06 19:18:43

标签: java eclipse unit-testing junit4 spock

我正在eclipse中使用spock,当我尝试运行测试时,我已成功运行了intelJ,我遇到了一个问题。我命名我的类与我的文件名不同,所以eclipse无法运行junit测试,而是给出了这个错误: enter image description here “启动配置的输入类型不存在。”

经过一些谷歌搜索,我没有在哪里,并决定玩,并发现,如果我执行所有的测试它会运行正常,即使我更改类名称以匹配文件名,它将工作。有没有办法配置eclipse / junit能够在与文件名不匹配的groovy类上运行测试?

HelloWorld.groovy:

import spock.lang.*

class MyFirstSpockTest extends spock.lang.Specification {

def "length of Spock's and his friends' names"() {
    expect:
    name.size() == length

    where:
    name     | length
    "Spock"  | 5
    "Kirk"   | 4
    "Scotty" | 6
}

def "basic test"() {
    expect:
    Math.min(a, b) == c

    where:
    a | b || c
    3 | 7 || 7   // Will fail here
    5 | 4 || 4   // Will pass
    9 | 9 || 9   // Will pass
}

def "persons name tells you gender"() {
    expect:
    person.getGender() == gender

    where:
    person                    || gender
    new Person(name: "Fred")  || "Male"
    new Person(name: "Wilma") || "Female"
}

static class Person {
    String name

    String getGender() {
        name.equals("Fred") ? "Male" : "Female"
    }
}
}

1 个答案:

答案 0 :(得分:0)

主代码树和测试代码树的根都需要在类路径设置中。为此,在Package Explorer窗口中,右键单击Project名称,从菜单中选择“ Build Path”,然后选择“ Configure Build Path”,选择Source选项卡,并确保主代码和测试代码目录都位于列出。如果未列出测试代码目录,请添加它。