6

在 Visual Studio 2010 中,测试结果视图能够显示当前正在进行的单元测试。在使用 Visual Studio 2012 时,我无法识别正在测试资源管理器中执行的单元测试。如何识别 Visual Studio 2012 测试资源管理器中正在进行的单元测试?

4

1 回答 1

4

的接口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,未来的更新可能会改善这种情况。

于 2013-06-08T17:59:35.997 回答