NUnit игнорирует тест при запросе макета из AutoFixture/AutoMaq

Я использую NUnit с AutoFixture, AutoMoq и Theory приписывать.

Вот мой метод испытаний,

[TestFixture]
public class TestClass
{
    [Theory, AutoMoqData]
    public void TestI(I i)
    { }

}

интерфейс

public interface I
{ }

и атрибут

public class AutoMoqDataAttribute : AutoDataAttribute
{
    public AutoMoqDataAttribute()
        : base(new Fixture().Customize(new AutoMoqCustomization()))
    { }
}

Когда я строю свое решение, тест обнаруживается. Когда я запускаю тест, в окно вывода записывается следующее:

NUnit 1.0.0.0 executing tests is started
Run started: [...].Test.dll
NUnit 1.0.0.0 executing tests is finished
Test adapter sent back a result for an unknown test case. Ignoring result for 'TestI(Mock<TestClass+I:1393>.Object)'.

Когда используешь xUnit.net вышеуказанный тест выполняется правильно. Почему не работает с NUnit?


У меня в тестовом проекте установлены следующие пакеты Nuget:

  • Автокрепление 3.18.1
  • AutoFixture.AutoMoq 3.18.1
  • Мок 4.2.1402.2112
  • NUnit 2.6.3
  • NUnitTestAdapter 1.0

Я запускаю тест из Visual Studio 2013 Professional. Я также попытался запустить тест в отдельном GUI Runner, с тем же результатом.

1 ответ

Следующий тест NUnit проходит в Visual Studio 2013 с надстройкой TestDriven.Net:

internal class AutoMoqDataAttribute : AutoDataAttribute
{
    internal AutoMoqDataAttribute()
        : base(
            new Fixture().Customize(
                new AutoMoqCustomization()))
    {
    }
}

public interface IInterface
{ 
}

public class Tests
{
    [Test, AutoMoqData]
    public void IntroductoryTest(IInterface i)
    {
        Assert.NotNull(i);
    }
}

Встроенный тестовый бегун не обнаруживает вышеуказанный тест. Это похоже на ошибку в тестовом раннере.

Другие вопросы по тегам