Выполняется тестирование проводника Visual Studio 2012

В Visual Studio 2010 представление "Результаты теста" могло отображать модульное тестирование, которое в данный момент выполняется. При использовании Visual Studio 2012 я не смог определить модульный тест, который выполняется в Test Explorer. Как определить выполняемый модульный тест в Visual Studio 2012 Test Explorer?

1 ответ

Решение

Интерфейс для ITestExecutor, который является обязательным интерфейсом для плагина модульного тестирования, показывает, что RunTests имеет контекст IFrameworkHandle

public interface ITestExecutor
{
   void RunTests(IEnumerable<string> sources, IRunContext runContext, IFrameworkHandle frameworkHandle);
   void RunTests(IEnumerable<TestCase> tests, IRunContext runContext, IFrameworkHandle frameworkHandle);
   void Cancel();
}

IFrameworkHandleимеет методы для записи статуса тестов

RecordStart(TestCase testCase)
RecordResult(TestResult testResult)
RecordEnd(TestCase testCase, TestOutcome testOutcome)

Таким образом, может показаться, что в окне теста может отображаться значок во время выполнения теста. Тем не менее, я построил тестовое устройство, используя созданную мастером библиотеку классов для MS-Test, так как я ожидаю, что она будет наиболее полнофункциональной из всех бегунов. Я добавил следующий тестовый класс

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        Thread.Sleep(10000);
        Assert.IsTrue(true);
    }
}

Не было никаких признаков того, что тест выполнялся в течение 10 секунд. Поэтому я бы сказал, что тестовое окно VS2012 [Update 3 RC] не показывает текущий запущенный тест. Будущее обновление может улучшить ситуацию, так как это кажется вполне возможным, учитывая API модульного тестирования.

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