不使用基础测试夹具的AutoData测试

时间:2014-10-30 16:09:44

标签: nunit autofixture

我使用 Autofixture 3.21.0 AutoFixture.NUnit2 3.21.0 以及 NUnit 2.6.3 Resharper 8.2。 3 跑步者。

我已经实现了通用基础测试夹具,其中包含一组针对多个生产类的通用测试。它类似于以下内容:

 
    [TestFixture]
    public class TestsBase<T>
    {
        [Test]
        public void Test_in_base_class()
        {
            Assert.Pass();
        }

        [Test, AutoData]
        public void Test_in_base_class_with_autodata( T obj )
        {
            // this test is not run !!!
            Assert.NotNull( obj );
        }
    }

从基础测试夹具类继承的一个示例具体测试夹具类可以实现如下:

 
    [TestFixture]
    public class DerivedTests : TestsBase<string>
    {
        [Test]
        public void Test_in_derived_class()
        {
            Assert.Pass();
        }

        [Test, AutoData]
        public void Test_in_derived_class_with_autodata( string obj )
        {
            Assert.NotNull( obj );
        }
    }

当我使用R#8.2.3 runner运行此派生测试夹具时,不会运行基类的测试方法,该方法归属于 AutoDataAttribute (名为 Test_in_base_class_with_autodata )。所有其他测试方法都按预期调用,但是来自基类的 AutoDataAttribute

你有同样的问题吗?它是AutoFixture.Nunit2的错误吗?这个问题有解决方法吗?请求帮助。

0 个答案:

没有答案
相关问题