1

我什至无法在 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}

第一个!path指向包含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。我基本上阅读了谷歌关于这些错误的所有内容,包括 Stack Overflow。

我该怎么做才能使这个示例运行?

4

1 回答 1

1

我设法解决了它。

该网站帮助我找到了正确的解决方案: http ://www.erikojebo.se/Code/Details/247

而不是 !path D:\Users\myName\workspace\myProject\target 我必须指向 D:\Users\myName\workspace\myProject\target\classes (或者如果您不使用 Maven,则只需指向“bin”)。然后它将通过给定的导入语句解析到正确的类子文件夹。

于 2014-05-09T07:59:17.950 回答