我的mstest TestClass
现在包含35个测试,而且可能会增长。测试的方法通常是递归的(因此可能存在导致无限循环的错误),因此我想为这些测试设置超时。
有没有办法(理想情况下是一个属性)为一个地方的所有测试设置相同的超时? TimeoutAttribute
只能用于方法,而不能用于类。而且我真的不喜欢复制TimeoutAttribute
35次。
或者,我可以创建自己的Attribute
,它可以与类一起使用,并使用指定的属性标记该类中的每个方法吗?
答案 0 :(得分:2)
您需要通过测试运行器配置来完成此操作。 (更多细节可以找到here)。
使用测试设置文件为所有测试设置测试运行超时
- 打开解决方案资源管理器。
- 在解决方案的“解决方案项目”文件夹中,双击测试设置文件。 (出现“配置设置”对话框。)
- 选择测试超时。
- 如果总执行时间超过:
,请检查中止测试运行- 设置测试运行超时值,以小时,分钟和秒为单位。
- 选择保存,然后选择关闭。
醇>要使此设置生效,请编辑您的测试设置 必须是有效的测试设置。有关详细信息,请参阅How to: Select the Active Test Settings from Microsoft Visual Studio。