Как я могу получить экземпляр MSTest V2 TestContext в методе TestCleanup? - PullRequest
0 голосов
/ 15 мая 2019

Я переношу существующую кодовую базу в MSTest V2 и столкнулся с проблемой с TestContext в методе TestCleanup.

В MSTest V1 класс TestContext был статическим, но в V2 это экземпляр. Я попытался добавить параметр в метод TestCleanup, но затем получаю следующее сообщение:

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

В конечном итоге я хочу узнать название очищаемого теста и его результаты. Если невозможно получить TestContext, есть ли другой способ получить эту информацию в контексте очистки?

1 Ответ

0 голосов
/ 15 мая 2019

Поскольку метод TestCleanup и TestContext не являются статическими, вы можете просто использовать TestContext внутри метода TestCleanup без каких-либо параметров. Вот пример:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace MyNamespace.Tests
{
    [TestClass]
    public class MyTestClass
    {
        public TestContext TestContext { get; set; }

        [TestCleanup]
        public void MyTestCleanup()
        {
            TestContext.WriteLine($"Test Cleanup for {TestContext.TestName}");
        }

        [TestMethod]
        public void MyTestMethod1() { }

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