Визуальный студийный юнит-тест для различной реализации интерфейса - PullRequest
5 голосов
/ 17 ноября 2010

Мне нужно выполнить модульное тестирование для двух классов реализации одного конкретного интерфейса.Класс модульного теста охватывает все необходимые тесты для интерфейса.Я хочу создать экземпляр класса реализации в классе TestInitialize класса тестового модуля.

Можно ли как-нибудь принудительно запустить тестовый класс дважды с другим экземпляром класса реализации.

[TestClass]
public class MyFixture
{
    [TestInitialize()]
    public void MyTestInitialize()
    {
        ITest mockInstance = new TestImplement1();
        //ITest mockInstance = new TestImplement2();
    }

    [TestMethod]
    public void Test1 ()
    {
        mockInstance.Func1();
        ...  
    }

    [TestMethod]
    public void Test2 ()
    {
        ...  
    }

    ...other unit tests

 }

Ответы [ 2 ]

7 голосов
/ 17 ноября 2010

Для этого шаблона, как правило, у вас есть базовый класс тестирования с методами тестирования, а затем вы создаете подкласс и заполняете метод настройки.Так что это может выглядеть примерно так: (Я использую NUnit, поэтому я прошу прощения, если методы инфраструктуры тестирования немного не в порядке)

3 голосов
/ 15 мая 2011

Вы должны проверить плагин NUnit интерфейса Greg Young: https://github.com/gregoryyoung/grensesnitt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...