【问题标题】:Visual Studio 2012 Ordered Test, how to monitor test executionVisual Studio 2012 Ordered Test,如何监控测试执行
【发布时间】:2015-05-29 09:48:28
【问题描述】:

我有一个有序的测试,其中一些测试运行正常。

我的问题是在测试执行期间我看不到正在运行的测试。 如何监控有序测试的执行?

【问题讨论】:

    标签: c# visual-studio-2012 testing ordered-test


    【解决方案1】:

    Visual Studio 支持按here 解释的有序测试。

    您必须将Ordered Test 添加到可以包含实际单元测试的解决方案中。在有序测试中,您可以定义哪个测试以哪个顺序执行。

    如果您想在测试运行时查看一些进度指示,您可以随时使用例如将其报告到 Visual Studio 输出窗口

    void ReportProgress(string testName, int progress)
    {
        System.Diagnostics.Debug.WriteLine("Test {0} running ({1}%)", testName, progress);
    }
    

    【讨论】:

      【解决方案2】:

      我会勇敢地说你做错了。

      测试应该简单、自给自足、小而独立。

      独立的原因是您可能无法可靠且持续地保证实际程序中的执行顺序。通常你会有几个开发人员在同一个项目上工作,他们可能会弄乱缩进的调用顺序。

      另一种方法是将测试之间的依赖关系重构为单个测试,就像这样

      // From 
      Test A -> Test B -> Test C
      
      // To 
      Test ABC
         Calling A
         Calling B
         Calling C
      

      另一种方法是使用TestSetupTestTearDown,例如:

      Test B
         Calling TestSetup(run A)
         Calling B
         Calling TestTearDown(run C)
      

      【讨论】:

      • 测试很简单,但是压力测试有很多数据,我想知道他们在中间做什么,比如“测试 1 正在运行”
      • 您不应该期望您的压力负载会以特定的顺序执行 - 这不是系统在现实生活中的工作方式(恕我直言)。
      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 2015-03-12
      • 1970-01-01
      相关资源
      最近更新 更多