我无法运行FitNesse中最基本的例子。
要么我收到此错误
__EXCEPTION__:java.lang.NoClassDefFoundError: MyTestFixture (wrong name: my/package/MyTestFixture)
或者我收到此错误
Could not invoke constructor for my.package.MyTestFixture
,
取决于我是否将完整的包名称添加到我的测试表的标题中(参见下面的示例)。
我的FitNesse代码如下所示:
!define TEST_SYSTEM {slim}
!path D:\tools\FitNesse\
!path D:\Users\myName\workspace\myProject\target\
!|import|
|my.package|
!|my.package.MyTestFixture|
|TestInt1 |test int 2 |product? |
|5 |2 |10 |
|10 |5 |50 |
|25 |0 |0 |
|2 |-2 |-4 |
|5 |0.1 |1 |
!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}
第一个!路径指向包含fitnesse-20140418.jar的目录,第二个路径指向MyTestFixture.class。
这里是MyTestFixture的java代码:
package my.package;
public class MyTestFixture {
private int testInt1;
private int testInt2;
public void setTestInt1(int number) {
this.testInt1 = number;
}
public void setTestInt2(int number) {
this.testInt2 = number;
}
public int getProduct() {
return testInt1 * testInt2;
}
}
我正在使用JDK 1.6和Eclipse + Maven。 FitNesse在本地服务上运行(通过fitness-standalone.jar)。 fitnesse-20140418.jar是Maven的pom.xml中的依赖项,也位于D:\ tools \ FitNesse。我基本上阅读了Google在这些错误上吐出的所有内容,包括Stack Overflow。
我该怎么做才能让这个例子运行?
答案 0 :(得分:1)
我设法解决了。
这个网站帮助我找到了正确的解决方案: http://www.erikojebo.se/Code/Details/247
而不是!path D:\ Users \ myName \ workspace \ myProject \ target我必须指向D:\ Users \ myName \ workspace \ myProject \ target \ classes(或者只是' bin' if你没有使用Maven)。然后它将通过给定的import语句解析为正确的类子文件夹。