【问题标题】:Test Name and Test Output in AssemblyCleanupAssemblyCleanup 中的测试名称和测试输出
【发布时间】:2016-09-12 17:49:26
【问题描述】:

我对单元测试完全陌生,但我会尽力解释这个问题。

我们有 Junit 项目,可能有超过 7K 的测试。我们有时会在一个文件中发生更改,这会触发超过 20 次失败,这令人担忧。那么无论如何我可以操纵测试输出吗?

我的想法(不知道是否可行):用[AssemblyInitialize()]和[AssemblyCleanup()]创建一个类。现在是否可以在 [AssemblyCleanup()] 中捕获测试名称和测试输出?

如果没有人可以提出更好的想法,我可以循环测试输出并对其进行操作。

【问题讨论】:

    标签: c# mstest


    【解决方案1】:

    您可以使用 TestContext 访问测试名称和测试结果

    只需在类的顶部实例化它,然后就可以在下面的方法中访问它。这就是我将它用于我的硒测试以进行报告的方式。

           public class TestBaseChrome: WebDriver
          {
            public TestContext TestContext { get; set; }
    
            [TestInitialize]
            public void Initialize()
            {
             //Do stuff here
            }
    
            [TestCleanup]
            public void Cleanup()
            {
              var testName = TestContext.TestName;
              var testResult = TestContext.CurrentTestOutcome.ToString();
    
              //Do what you need
            }
          }
    

    您可能还对组装方法有疑问,因为它们不可继承,因此可能无法创建使用它们的单独类。

    这些是我的发现以及我如何获得测试的名称/结果。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 2014-06-11
      • 2015-09-18
      • 2011-05-29
      • 2016-08-03
      • 2015-09-18
      • 2012-02-20
      相关资源
      最近更新 更多