2012-04-30 30 views
6

Có thể chạy một bộ xml được xác định trước từ dòng lệnh thông qua maven?TestNG chắc chắn, chạy bộ với maven dòng lệnh

Tôi có thể chạy một lớp hoặc một bài kiểm tra cụ thể. Nhưng tôi không thể chạy một bộ.

Dưới đây là những gì tôi đang chạy từ dòng lệnh: ->

mvn -Dtest=TestCircle#mytest -Denvironment=test -Dbrowser=firefox -DscreenShotDirectory=/Users/jeremy/temp test 

tôi có một bộ xác định, mà chạy độc đáo thông qua IntelliJ, nhưng tôi không chắc chắn làm thế nào để gọi bộ. tệp xml.

Hoặc ví dụ, sau khi thử nghiệm đã chạy, testng tạo tệp testng-failed được thiết lập để chạy lại tất cả các kiểm tra không thành công.

Sử dụng mvn, làm cách nào tôi khởi động bộ thử nghiệm này.

+0

Tôi tìm thấy câu trả lời ở đây: http://stackoverflow.com/questions/11762801/run-junit-suite-using-maven-command – Philippe

Trả lời

5

Thông thường bạn không cần gì đặc biệt trong mối quan hệ với TestNG. Chỉ cần sử dụng plugin maven-surefire:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    </plugin> 

và dựa trên tất cả các kiểm tra được chú thích chính xác sẽ chạy. Ah tất nhiên bạn cần một phụ thuộc vào TestNG như thế này:

<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>6.5.2</version> 
    <scope>test</scope> 
</dependency> 

Thông thường tôi sẽ không tạo thử nghiệm Suites nữa, gây ra điều này một điểm mà bạn có để duy trì được thường xuyên bỏ lỡ để cập nhật, vv chỉ cần sử dụng các chú thích.

Nếu bạn cần chạy một bộ kiểm tra cụ thể, chỉ cần xác định tệp testng.xml trong src/test/resources và nâng cao cấu hình của maven-surefire plugin một cách thích hợp.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    <configuration> 
     <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
     </suiteXmlFiles> 
    </configuration> 
    </plugin> 
4
<build> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    <configuration> 
     <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
     </suiteXmlFiles> 
    </configuration> 
    </plugin> 
</build> 

nó làm việc cho tôi.

+0

Tôi đã làm theo cùng một cách, nhưng tiếc là nó không hoạt động –

14

Câu trả lời này đã cho tôi những gì tôi đang tìm kiếm, cụ thể là khả năng để vượt qua tại dòng lệnh tên của bộ ứng dụng Tôi muốn chạy:

http://www.vazzolla.com/2013/03/how-to-select-which-testng-suites-to-run-in-maven-surefire-plugin/

Tóm lại, thêm dòng sau vào đoạn thơ maven-surfire-plugin của pom.xml của bạn:

<suiteXmlFiles> 
    <suiteXmlFile>${suiteXmlFile}</suiteXmlFile> 
</suiteXmlFiles> 

Sau đó, bạn có thể chỉ định testng mong muốn tập tin bộ xml tại cửa sổ dòng lệnh:

mvn clean install test -DsuiteXmlFile=testngSuite.xml 
Các vấn đề liên quan