0

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

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

并使用类似的测试维基

#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
4

1 回答 1

0

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

于 2014-02-15T03:33:52.133 回答