我目前的套件结构如下:
- OuterSuite
- 套件设置
- InnerSuite1
- 套件设置
- 测试1
- 测试2
- 测试3
- 套件拆解
- InnerSuite2
- 套件设置
- 测试1
- 测试2
- 测试3
- 套件拆解
我想让 OuterSuite.SuiteSetUp 加载一个包含一些基本测试数据的数据库。然后 InnerSuite1.SuiteSetUp 和 InnerSuite2.SuiteSetUp 中的每一个都会针对各自的测试组稍微修改测试数据。 (并将其恢复为相应 SuiteTearDown 中的起始值。)
但正如我所发现的,“只能有一个!”套件设置。您将如何获得所需的行为?
最佳答案
我们通过利用 Hudson 为特定目的运行特定套件解决了类似的问题。
它的工作原理有点像这样:
- 我们有一个用于准备数据库的 BootStrap 页面。这作为一个单独的 Hudson 作业运行。此作业准备数据库,然后对其进行备份。
- 然后,当我们运行我们的套件时,我们会在每个套件之前恢复数据库。
- 数据库恢复后,运行一个套件。我们单独运行主要套件以强制清理数据库,因为我们现在无法支持数据库回滚。
这种方法并不完美,但它可以让我们更好地管理数据库。
关于testing - 如何设置允许多个 "SuiteSetUp"的 FitNesse 套件层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600483/