我们的应用程序支持多种类型的帐户,因此我们的许多测试都会遍历所有帐户类型。
然而,我们有一个共同的模式是每个帐户类型的第一步都是相同的,但是我们想要测试每个帐户类型的一些独特方面。这是一个测试的高级视图:
all_account_types.each 做 |account_type|
- 创建具有特征 account_type 的帐户工厂
- 为帐户创建经理工厂
- 5 个人工厂选择加入该帐户
- 1 人然后选择退出
- 经理创建并发送广播
- 一个选择退出没有收到消息
- 四个选择加入得到消息
- 验证消息的格式(取决于帐户类型)
最后一个测试是问题...我们运行的测试取决于帐户的类型...目前我们在测试中有逻辑说明if account_type==X then Y.should include(Z)
并且在进行测试时有效,但它会更好