我目前的套件有以下结构:
我想让OuterSuite.SuiteSetUp加载一个带有一些基本测试数据的数据库。然后,InnerSuite1.SuiteSetUp和InnerSuite2.SuiteSetUp中的每一个都会稍微修改测试数据以用于它们各自的测试组。 (并将其恢复为相应SuiteTearDown中的起始值。)
但正如我所知,"只能有一个!" SuiteSetUp。您将如何获得理想的行为?
答案 0 :(得分:0)
我们通过利用Hudson为特定目的运行特定套件解决了类似的问题。
它有点像这样:
这种方法并不完美,但它可以让我们更好地管理数据库。
答案 1 :(得分:0)
你可以通过这种技巧获得这种结构。
InnerSuite的内容#.SuiteSetUp
!include -c <OuterSuite.SuiteSetUp
# Your original code of the suite setup
通过此流程,将首先运行OuterSuite的SuiteSetUp,然后运行其余内容。
此结构也可以在SuiteTearDown中使用,但是可以智能地颠倒顺序。这可以是例如删除具有连接到将在外部拆除中删除的行的外键的行时使用。
InnerSuite的内容#.SuiteTearDown
# Your original code of the suite teardown
!include -c <OuterSuite.SuiteTearDown