2016-05-16 62 views
0

输出我完全新的单元测试,但我会尽我所能来解释这个问题。测试名称与测试AssemblyCleanup

我们有Junit的项目,也许超过7K的测试。我们有时会更改一个文件,这会触发20多个故障,这很令人担忧。那么无论如何,我可以操纵测试输出吗?

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

如果不是任何人都可以提出更好的主意,通过它我可以通过测试输出周期和操作它们。

回答

0

您可以访问使用的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 
     } 
     } 

您还可能有与装配方法的问题,因为他们是不可继承,所以可能无法创建使用它们单独的类。

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

希望这会有所帮助。