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

Multiple attributes nested in one attribute for MsTest

我在 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' 和 'Timeout' 属性来代替这一行吗?

如果可以,对我的测试框架有影响吗? MsTest 仍然可以识别我的测试并能够在没有任何影响的情况下执行测试?

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

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

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