嵌套在MsTest的一个属性中的多个属性

时间:2015-01-16 14:55:15

标签: c# mstest custom-attributes

我在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仍然可以识别我的测试并能够在没有任何影响的情况下执行测试吗?

1 个答案:

答案 0 :(得分:3)

C#不支持多重继承,因此您无法创建继承TestMethodAttributeTimeoutAttribute的属性。

你将不得不忍受在每种方法上都有这两个属性。

注意,如果所有测试都需要相同的超时值,则可以使用TestSettings文件指定全局超时值。