为什么不能在SuiteSetUp中导入DbFit?

时间:2014-02-14 14:00:18

标签: fitnesse dbfit

我已经让DbFit在独立模式下运行了一段时间,并在我的SetUp wiki中导入了夹具,如

#SetUp content
[...]
!|Import|
|dbfit.fixture|
[...]

和测试wiki一样

#DbTestWiki content
!|DatabaseEnvironment|ORACLE|
 |Connect|${URI}|${USERNAME}|${PASSWORD}|
[...]

这样做非常好。但我认为在SuiteSetUp wiki中进行所有导入会更好。所以我在那里移动了导入代码并进行了测试;结果是这个例外

java.lang.NullPointerException
at dbfit.fixture.DatabaseEnvironment.connect(DatabaseEnvironment.java:56)
[...]
at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:34)
[...]

所以它似乎以这种方式在Flow模式下运行。那么为什么它在SetUp中工作,而不是在SuiteSetUp中工作?

具有上面给出的内容的最小示例层次结构(在[...]中没有任何内容)。

FitNesseRoot
+->DbFitTest
\->SuiteSetUp

1 个答案:

答案 0 :(得分:0)

每个页面都包含一个SetUp页面,因此内容将作为每个测试的一部分执行。在任何其他测试之前,SuiteSetUp页面作为单独的测试执行一次。因此,DatabaseEnvironment表将是您使用SetUp进行测试的第二个表,以及第一个带有SuiteSetUp的表。