我的套件目前具有以下结构:


外套房

SuiteSetUp
内部套件1

SuiteSetUp
测试1
测试2
测试3
SuiteTearDown

内部套件2

SuiteSetUp
测试1
测试2
测试3
SuiteTearDown




我想让OuterSuite.SuiteSetUp加载一些基本测试数据的数据库。然后,每个InnerSuite1.SuiteSetUp和InnerSuite2.SuiteSetUp都会对其各自的测试组稍作修改测试数据。 (并将其还原为相应SuiteTearDown中的起始值。)

但是,正如我发现的那样,“只能有一个!” SuiteSetUp。您将如何获得所需的行为?

最佳答案

我们利用Hudson为特定目的运行特定套件来解决了类似的问题。

它的工作原理如下:


我们有一个BootStrap页面,我们可以运行该页面来准备数据库。这作为独立的Hudson工作运行。该作业将准备数据库,然后对其进行备份。
然后,当我们运行套件时,我们会在每个套件之前还原数据库。
还原数据库后,运行套件。由于我们现在不支持数据库回滚,因此我们分别运行主要套件以强制清理数据库。


这种方法并不完美,但可以让我们更好地管理数据库。

关于testing - 如何设置允许多个“SuiteSetUp”的FitNesse套件层次结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10600483/

10-10 14:06