我使用 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的错误吗?这个问题有解决方法吗?请求帮助。