【问题标题】:FitNesse SliM - root page references to .class files MANY different projectsFitNesse SliM - .class 文件的根页面引用 许多不同的项目
【发布时间】:2011-12-12 18:32:40
【问题描述】:

我正在用 Java 开发一些固定装置,以配合 Fitnesse slim 使用。当我必须使用这样的路径更新我的根页面时,我遇到了问题(EXCEPTION:java.lang.NoClassDefFoundError:):

!define TEST_SYSTEM {slim}
!path: C:\WORKSPACE\Projects\iperoom_67_workspace\acceptance_test_project\bin
!path: C:\WORKSPACE\Projects\iperoom_67_workspace\iperoom\BASE\common_util\target\classes
!path C:\WORKSPACE\Projects\iperoom_67_workspace\iperoom\BASE\dfc_util\target\classes

类在哪里,即 ...BASE\dfc_util\target\classes;有以下进口:

导入 no.joint.iperoom.test.AbstractDfcTest;

代码 . . .

这给出了我本地 C 盘工作区中的完整路径:

C:\WORKSPACE\Projects\iperoom_67_workspace\iperoom\BASE\dfc_util\target\classes\no\joint\iperoom\test

我的问题是,我可以在根页面上说:

类路径:C:\WORKSPACE\Projects\iperoom_67_workspace\iperoom\BASE*;就像从这里获取所有 .class 文件一样。更一般的东西? 并可能在 Fitnesse 测试页面上将几个 pats 导入到 .class 文件中:

|进口| |dfc_util.target.classes.no.joint.iperoom.test.AbstractDfcTest|

或者,由于从另一个 .class 调用另一个 .class 中的一个 .class 等等,在我的根页面中越来越多的“!路径”,有没有其他更好的方法来解决这个问题。

或者也许我的夹具代码不够好:

公共类 SessionHelperTest /扩展 AbstractDfcTest/{

public boolean testNewSession() {

    System.out.println("Hello Joint");


    IDfSession session = SessionRegistry.getSuperUserSession("eRoomPCI_v_1_1");
try {
        String si = session.getSessionId();
        System.out.println("The sessionId is:\n" + si);
        return true;
    } catch (DfException e) {
        e.printStackTrace();
        return false;
    }
}
}

干杯

马格纳斯

【问题讨论】:

    标签: fitnesse


    【解决方案1】:

    我不认为路径会按照你想要的方式工作。如果你定义的级别太低,我很确定它不会找到你的类。

    当您执行以下任何操作时,!path 可以正常工作:

    这将获取 build/classes 下的所有类文件,如果它位于 fitmente 开始的文件夹下:

    !path build/classes
    

    这将处理多个 jar 文件:

    !path lib/*.jar
    

    需要注意的是,您可以为此利用环境变量。假设您定义了一个名为 WORKSPACE 的环境变量,它指向您的项目的基础,您可以这样做:

     !path ${WORKSPACE}/acceptance_test_project/bin
     !path ${WORKSPACE}/acceptance_test_project/common_util/target/classes
     !path ${WORKSPACE}/acceptance_test_project/dfc_util/target/classes
    

    现实情况是,如果您的文件分散在多个文件夹中,您将不得不使用多个条目。如果只是为了确保您可以控制处理路径的顺序。如果您只在 FrontPage 上执行此操作,那么它下面的所有内容都将继承相同的路径。然后,您只需在一个位置进行管理。因此,虽然列表可能比您喜欢的要长,但维护是有管理的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多