有没有办法在Visual Studio单元测试(MSTest)中的每个测试之前为项目中的所有测试执行初始化程序代码?

时间:2010-07-15 18:59:13

标签: .net visual-studio unit-testing mstest

我有一个包含20多个.cs文件的单元测试项目。我想在每次单独测试之前运行一些设置代码。有点像[TestInitialize]属性的工作原理。但是,我需要将该属性放在所有20多个.cs文件中。

有没有办法在我整个项目的每个测试中将初始化代码集中在一个地方?

谢谢!

-Mike

2 个答案:

答案 0 :(得分:0)

迈克唯一的引导钩子是[ClassInitialize]和[TestInitialize]以及它们的拆卸对应物。在这些情况下,我只是将通用逻辑外化到自己的类中,基本上遵循正常的DRY和SoC实践。通常,我在测试程序集中定义了多个服务和提供程序,xInitialize方法只有1或2行代码来调用approperiate提供程序。据说mpistrich的答案也是完全可以接受的,我更喜欢分层继承。

答案 1 :(得分:0)

我不知道这是否还是个问题。但我发现还有一个解决方案可以做到这一点: 打开.testsettings文件时,转到“安装和清理脚本”选项卡,您可以指定在测试运行之前和之后运行的脚本。