我有一些测试取决于某些测试的成功和失败。当我使用VS2010 Mstest和selenium时,如何定义依赖项。 E.g
如果test1失败,那么不要运行test5,测试6.这是可能的。
答案 0 :(得分:2)
单元测试应始终是孤立的,完全不依赖于运行的其他东西,而不是非易碎。
您可以使用MSTest设置类别,将它们分隔成不同的逻辑结构。
有关详细信息的好书是http://artofunittesting.com
Roy也有很多在线录制的公开演讲
干杯
答案 1 :(得分:1)
测试之间不应存在依赖关系。
如果您有依赖项,那么以不同的顺序运行它们,或者单独运行它们会导致它们偶尔失败 - 这对于运行测试的其他任何人来说都会非常混乱。
定义用于设置自己的数据并断言特定内容的测试要好得多。您可以使用像Rhino Mocks这样的模拟框架,通过伪造(模拟)与测试无关的区域来减少代码模块之间的依赖关系。如果您还使用dependency injection这样的Microsoft Unity框架,则会更加轻松,因为您的代码会有更多可以应用模拟的接缝。