我已经让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
答案 0 :(得分:0)
每个页面都包含一个SetUp页面,因此内容将作为每个测试的一部分执行。在任何其他测试之前,SuiteSetUp页面作为单独的测试执行一次。因此,DatabaseEnvironment表将是您使用SetUp进行测试的第二个表,以及第一个带有SuiteSetUp的表。