2016-05-16 6 views
0

Ich bin völlig neu in der Unit-Tests, aber ich werde mein Bestes versuchen, um das Problem zu erklären.Testname und Testausgabe in AssemblyCleanup

Wir haben Junit Project und vielleicht mehr als 7K Tests. Wir haben manchmal Änderungen in einer Datei, die mehr als 20 Fehler auslösen, was besorgniserregend ist. Kann ich die Testausgabe trotzdem manipulieren?

Meine Idee (ich weiß nicht, ob es machbar ist): Erstellen Sie eine Klasse mit [AssemblyInitialize()] und [AssemblyCleanup()]. Ist es jetzt möglich, den Testnamen und die Testausgabe in [AssemblyCleanup()] zu erfassen?

Wenn nicht, könnte jemand bessere Idee vorschlagen, durch die ich Testausgaben durchlaufen und sie manipulieren kann.

Antwort

0

Sie können auf die Testnamen und Testergebnis mit Testcontext

es einfach an der Spitze der Klasse instanziiert und dann wird es in den unten stehenden Methoden zugänglich sein. Dies ist, wie ich es für meine Selen-Tests für die Berichterstattung verwende.

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

Sie könnten auch mit den Montagemethoden Probleme haben, da sie nicht vererbbar sind, so eine eigene Klasse erstellen kann nicht in der Lage sein, die sie verwendet.

Das sind meine Ergebnisse und wie bekomme ich den Namen/Ergebnisse der Tests.

Hoffe, das hilft.