2012-01-30 34 views
8

Tôi muốn tạo các báo cáo thử nghiệm được tạo bởi JUnit/TestNG PROGRAMMATICALLY. Vì vậy, đó là quy tắc ra ANT. Mối quan tâm chính của tôi là tạo ra các tệp XML được tạo bởi Junit trong khi thực hiện các trường hợp kiểm thử. Tôi đã đọc rằng RunListener có thể giúp tôi đạt được điều đó, nhưng tôi không thể tìm ra cách nào? Tôi đang sử dụng Selenium để tạo ra các trường hợp thử nghiệm của mình.Tạo các tệp XML được sử dụng bởi các báo cáo JUnit

Làm cách nào để tạo tệp XML được tạo bởi JUnit?

+0

sử dụng JUnit XML [định dạng] (http: // help. catchsoftware.com/display/ET/JUnit+Format) – Manu

Trả lời

9

JUnit không tạo báo cáo XML. Không có định dạng đầu ra XML chuẩn cho JUnit.

Các công cụ khác tạo XML, chẳng hạn như Ant/Maven. Vì vậy, điều đầu tiên bạn cần làm là quyết định hình thức tệp XML nào bạn muốn, như trong những gì bạn muốn làm với các tệp khi bạn đã tạo chúng.

Và thực tế, hạn chế lập trình của bạn không loại trừ ANT. Bạn có thể gọi kiến ​​lập trình (xem Invoke ant from java, then return to java after ant termination). Điều này có lẽ sẽ là cách dễ nhất để tạo các tệp có tính tương thích với ant.

Nếu bạn muốn tạo tệp XML của riêng mình, bạn có thể tạo một lớp mở rộng RunListener và sau đó chạy thử nghiệm bằng cách gọi JUnitCore#run() hoặc tương tự.

public void main(String... args) { 
    JUnitCore core= new JUnitCore(); 
    core.addListener(new RingingListener()); 
    core.run(MyTestClass.class); 
} 

RunListener của bạn sẽ phát ra XML phù hợp. Nó khá dễ hiểu: ghi đè các phương thức testRunStarted() và viết ra XML. Để biết ví dụ về cách hoạt động, hãy xem TextListener, thực hiện tương tự, nhưng đối với văn bản.

+0

TextListener paga đã bị xóa. Bạn có thể chia sẻ một số liên kết khác không? – anon

+0

Tôi đã cập nhật liên kết. –

0

Bạn hỏi gần giống here Nếu bạn nhìn vào doc TestNG bạn có thể sử dụng:

Giao diện org.testng.IReporter mà chỉ có một phương pháp: public void generateReport (Liệt kê dãy phòng, String outputDirectory) Phương thức này sẽ được gọi bởi TestNG khi tất cả các bộ đã được chạy và bạn có thể kiểm tra các tham số của nó để truy cập tất cả các thông tin về chạy vừa được hoàn thành.

4

file xml được tạo ra bởi ant-junit, và chúng ta có thể làm điều đó bằng chương trình, mã sẽ trông giống như sau:

Project project = new Project(); 
JUnitTask task = new JUnitTask(); 
project.setProperty("java.io.tmpdir",String); //set temporary directory 
task.setProject(project); 
JUnitTask.SummaryAttribute sa = new JUnitTask.SummaryAttribute(); 
sa.setValue("withOutAndErr"); 
task.setFork(false); 
task.setPrintsummary(sa); 
FormatterElement formater = new FormatterElement();   
FormatterElement.TypeAttribute type = new FormatterElement.TypeAttribute(); 
type.setValue("xml"); 
formater.setType(type); 
task.addFormatter(formater); 
JUnitTest test = new JUnitTest(String);// set Test.class.getname()   
test.setTodir(File); // set Location for your report 
task.addTest(test);   
task.execute(); 
+1

Bạn đã sử dụng các tệp jar nào? Bạn có thể chia sẻ không? – anon

Các vấn đề liên quan