我在C#中进行了以下测试,并使用了MsTest:
using TestMethod=Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute;
using TestClass=Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute;
using Owner=Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute;
using Description=Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute;
using Timeout=Microsoft.VisualStudio.TestTools.UnitTesting.TimeoutAttribute;
namespace DataGroup
{
[TestClass]
public class Data
{
[Owner("Tester")]
[TestMethod, Timeout(5000)]
[Description(@"This is a sample test")]
public void TestCase_001()
{
}
}
}
在上面的代码中,在行中,
[TestMethod,Timeout(5000)]
我们可以添加自定义属性并引用“TestMethod”来代替此行吗?和超时'属性?
如果可能,它会对我的测试框架产生影响吗? MsTest仍然可以识别我的测试并能够在没有任何影响的情况下执行测试吗?
答案 0 :(得分:3)
C#不支持多重继承,因此您无法创建继承TestMethodAttribute
和TimeoutAttribute
的属性。
你将不得不忍受在每种方法上都有这两个属性。
注意,如果所有测试都需要相同的超时值,则可以使用TestSettings文件指定全局超时值。