2011-03-28 36 views

Trả lời

6

TheStijn đưa ra một số hướng tốt, mặc dù TestMethodWorker() là nội bộ, do đó bạn không nên sử dụng nó.

Dựa trên câu hỏi, tôi thậm chí không chắc chắn các poster ban đầu đang cố gắng để khởi động TestNG trong một quá trình riêng biệt, vì vậy tài liệu API có thể là những gì bạn đang tìm kiếm:

http://testng.org/doc/documentation-main.html#running-testng-programmatically

+0

Mã sau của tôi được làm việc độc đáo: TestListenerAdapter tla = new TestListenerAdapter(); TestNG testng = new TestNG(); testng.setTestClasses (lớp mới [] {LoginAuthentication.class}); testng.addListener (tla); testng.run(); com.beust.testng.TestNG; TestNG không được chấp nhận. Có cách nào khác không? –

+0

Sử dụng org.testng.TestNG thay vì com.beust.TestNG –

+0

bạn có thể theo dõi blog này http://dharshanaw.blogspot.com/2012/10/how-to-execute-testng-tests.html – Dharshana

0

Có một cái nhìn tại org.testng.remote.RemoteTestNG, điều này tuy nhiên sẽ yêu cầu bạn phải viết một bộ xml cho các xét nghiệm của bạn như:

<suite name="Default suite"> 
    <test verbose="2" name="Default test"> 
    <classes> 
     <class name="com...service.UserServiceImplTest"/> 
    </classes> 
    </test> 
</suite> 

Một điểm mấu chốt có thể org.testng.internal mới. TestMethodWorker (...). Run() nhưng bạn sẽ phải xem mã để xác định hàm tạo mà bạn cần thiết lập.

Có lẽ các điểm nhập khác, thuận tiện hơn có sẵn tùy theo nhu cầu của bạn; Tôi đề nghị để khởi động một số thử nghiệm trong chế độ gỡ lỗi, đặt một breakpoint trong thử nghiệm của bạn và đi xuống ngăn xếp.

+0

Có, đây là nội dung của tệp xml. Vì vậy, tệp build.xml được chạy bằng cách sử dụng eclipse hoặc Ant –

8

mã sau đây của tôi trong java hoạt động độc đáo:

@Test 
public void testTestNGProgramatically(){ 
TestListenerAdapter tla = new TestListenerAdapter(); 
TestNG testng = new TestNG(); 
testng.setTestClasses(new Class[] {LoginAuthentication.class, GmailSigninSignout.class}); 
testng.addListener(tla); 
testng.run(); 
} 

Bạn có thể nhận được các chi tiết giải thích bằng cách truy cập URL sau:

http://testng.org/doc/documentation-main.html#running-testng-programmatically

+0

Trong mã trên của tôi: TestNG không được chấp nhận trong dòng "TestNG testng = new TestNG();" . Thay thế lớp TestNG là gì? –

+2

Sử dụng 'org.testng.TestNG', không phải' com.beust.TestNG' (cái mà bạn có thể đang nhập). –

+0

@CedricBeust: Cảm ơn rất nhiều. Có, tôi đã nhập org.testng.TestNG thay vì com.beust.TestNG và OK bây giờ –

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