在多个 Fitnesse 测试之间共享 content.txt 数据

Sharing content.txt data between multiple Fitnesse tests

我正在尝试在两个 Fixture 测试之间使用一个 content.txt 文件。中间 class、TestUtility 从 content.txt 文件获取数据,并且两个夹具测试调用该实用程序 class。但是,我从 getText 得到了 NullPointerException。我认为 Fitnesse 不接受中间测试文件。 有谁知道我该怎么做?

public class TestUtility  extends TableFixture { 
       @BeforeClass
        public void setup()  {
            System.out.println("in setup");
            cellR0C0 = getText(0,0);
            cellR1C0 = getText(1,0);
            cellR2C0 = getText(2,0);
            cellR0C1 = new Double(getInt(0,1));
            cellR1C1 = new Double(getInt(1,1));
           cellR2C1 = new Double(getInt(2,1));

    /**
     *
     * @param fitnessRows
     */
    public void showResults(int fitnessRows){

    }
}//end class TestUtility  

public class MyTestFixture {
        /**
         *
         * @param fitnessRows
         */
         public void showResults(int fitnessRows){
            TestUtility testUtility = new TestUtility()
            testUtility.setUp();
            testUTility.restOfTest()
        }
   }

content.txt
#!|TestUtility|
!|fitnesse.fixtures.TestUtility|
|ABCDE101|200|
|ABCDE102|300|
|ABCDE103|400|

当 FitNesse 测试引擎创建像 TestUtility 这样的夹具时,它会被 FitNesse 初始化,让您可以使用像 getText 这样的方法从测试页面访问信息。当您使用 new 创建夹具时,此信息未初始化并且调用 getText 将失败,如您所见。

如果您想在另一个 class 中使用固定装置的信息,您可以将信息放入静态字段中,这样您就可以在另一个 class 中使用它,而无需使用 new.

您可以使用 !include 标记将页面包含到另一个页面中。

最好的方法是创建一个 SetUp..

使用 SetUp 或 SuiteSetUp