【问题标题】:Visual Studio 2012 Test Explorer Test In ProgressVisual Studio 2012 测试资源管理器测试正在进行中
【发布时间】:2013-04-24 21:06:32
【问题描述】:

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

【问题讨论】:

  • 您的意思是测试资源管理器吗?测试 -> Windows -> 测试资源管理器? msdn.microsoft.com/en-us/library/…
  • 似乎测试结果视图应该准确地显示这一点,尽管我也无法让它工作。

标签: c# visual-studio 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,未来的更新可能会改善这种情况。

【讨论】:

  • 谢谢。我会看到有关提出功能请求的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
相关资源
最近更新 更多