Использование MS Test ClassInitialize () и TestInitialize () в VS2010 в отличие от NUnit - PullRequest
24 голосов
/ 30 декабря 2010

Я использовал NUnit с VS2008, а сейчас адаптируюсь к MSTest на VS2010.Раньше я имел возможность создавать объект в TestSetup () и распоряжаться им в TestCleanup (), а также создавать объект каждый раз, когда в NUnit запускается метод теста, что не позволяет мне дублировать код в каждом методе теста.*

Разве это невозможно с MSTest?Примеры, которые я нахожу с использованием атрибутов ClassInitialize и ClassCleanup, TestInitialize и TestCleanup, показывают только, как записывать данные в консоль.Никто не показывает более подробное использование этих атрибутов.

1 Ответ

38 голосов
/ 30 декабря 2010

Вот простой пример использования TestInitialize и TestCleanup.

[TestClass]
public class UnitTest1
{
    private NorthwindEntities context;

    [TestInitialize]
    public void TestInitialize()
    {
        this.context = new NorthwindEntities();
    }

    [TestMethod]
    public void TestMethod1()
    {
        Assert.AreEqual(92, this.context.Customers.Count());
    }

    [TestCleanup]
    public void TestCleanup()
    {
        this.context.Dispose();
    }
}
...