Testing 如何建立一个FitNesse套件层次结构,允许多个;SuiteSetUp";?
我目前的套件结构如下:Testing 如何建立一个FitNesse套件层次结构,允许多个;SuiteSetUp";?,testing,fitnesse,Testing,Fitnesse,我目前的套件结构如下: 外套 套房设置 内裤1 套房设置 测试1 测试2 测试3 套房酒店 内衣裤2 套房设置 测试1 测试2 测试3 套房酒店 我想让OuterSuite.SuiteSetUp加载一个包含一些基本测试数据的数据库。然后,InnerSuite1.SuiteSet和InnerSuite2.SuiteSet中的每一个都会稍微修改各自测试组的测试数据。(并将其恢复到相应SuiteToardown中的起始值。) 但正如我发现的,“可能只有一个!”SuiteSetUp。您将
- 外套
- 套房设置
- 内裤1
- 套房设置
- 测试1
- 测试2
- 测试3
- 套房酒店
- 内衣裤2
- 套房设置
- 测试1
- 测试2
- 测试3
- 套房酒店
但正如我发现的,“可能只有一个!”SuiteSetUp。您将如何获得所需的行为?我们通过利用Hudson为特定目的运行特定套件解决了类似的问题 它的工作原理有点像这样:
这种方法并不完美,但它可以让我们更好地管理数据库。使用这种技巧,您可以获得这种结构 InnerSuite#.SuiteSetUp的内容
!include -c <OuterSuite.SuiteSetUp
# Your original code of the suite setup
!include-c嗨,首先对不起,我直到现在才注意到这个答案。如果我直接运行OuterSuite,那么OuterSuite.SuiteSetUp是否会运行两次?@EmilBadh:解决问题的最简单方法是将OuterSuite.SuiteSetUp页面重命名为其他页面,并确保其“页面类型”属性设置为“静态页面”。然后向InnerSuite1和InnerSuite2的SuiteSetUp页面添加一个include指令,指向新重命名的页面。如果通用设置页面不是SuiteSetUp,则FitNesse不会将其作为套件的一部分自动运行;它将仅作为InnerSuite1和2的SuiteSetUp页面的一部分运行,因为它包含在这些页面中。
# Your original code of the suite teardown
!include -c <OuterSuite.SuiteTearDown