AssemblyCleanup中的测试名称和测试输出

时间:2016-05-16 20:07:09

标签: c# mstest

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

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

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

如果没有人可以提出更好的想法,我可以通过它来循环测试输出并操纵它们。

1 个答案:

答案 0 :(得分:1)

您可以使用TestContext

访问测试名称和测试结果

只需在类的顶部实例化它,然后就可以通过以下方法访问它。这就是我如何将它用于我的selenium测试报告。

       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
        }
      }

您可能还遇到装配方法的问题,因为它们不可继承,因此可能无法创建使用它们的单独类。

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

希望这会有所帮助。