Несколько тестовых классов используют один и тот же набор типов в MSTest. - PullRequest
0 голосов
/ 18 августа 2011

Чтобы перенести TypeFixtures из MbUnit в MSTest, мы можем построить абстрактный класс для тестовых методов и некоторых других классов, которые наследуют абстрактный класс, конструкторы которого содержат исходные определения TypeFixture.

Сейчас вопрос в том,что в исходном тесте MbUnit есть несколько классов тестов, которые используют один и тот же набор TypeFixture.Способ сделать это состоит в том, чтобы иметь базовый класс, который содержит эти приборы, и иметь фактические тестовые классы для его наследования.

Я не думаю, что это работает для MSTest.Есть ли обходной путь в MSTest, который выполняет ту же цель?Спасибо!

1 Ответ

0 голосов
/ 15 сентября 2011

Не хорошо, но вы можете использовать отражение. Вы получите красный / зеленый класс pr, а не методы, а это значит, что перейти к тесту на разрыв труднее:

[TestClass]
public class RunMbUnitTests
{
    [TestMethod]
    public void RunAllTests()
    {
        var fixture = new YourMbUnitFixture();
        foreach (var method in GetTestMethods(fixture))
        {
            method.Invoke(fixture);
        }
    }

    private IEnumerable<MethodInfo> GetTestMethods(object mbUnitFixture)
    {
        //reflection code to return all test methods from the MbUnit fixture
    }
}
...