2012-01-12 37 views
12

Tôi đang gặp một số sự cố khi chạy thử nghiệm đơn vị khi pom được đặt thành loại bao gói "pom". Lúc đầu, nó đã nói không có mục tiêu cần thiết cho dự án này, vì vậy tôi đã thêm plugin maven-surefire vào tệp pom.xml của tôi để liên kết giai đoạn thử nghiệm với mục tiêu kiểm tra trình cắm maven-surefire.Chạy thử nghiệm với loại bao bì maven "pom"

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.9</version> 
      <executions> 
       <execution> 
        <phase>test</phase> 
        <goals> 
         <goal>test</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Bây giờ plugin chắc chắn sẽ được thực hiện nhưng không có thử nghiệm nào để chạy. Nếu tôi thay đổi kiểu đóng gói thành jar và chạy thử mvn thì nó sẽ chọn các tệp kiểm tra của tôi.

Khi tôi chạy thử nghiệm mvn -X nó nói "testSourceDirectory = C: \ dev \ dsl \ src \ test \ java", là vị trí chính xác. Vị trí thử nghiệm có khác biệt đối với loại bao gói "pom" so với "jar" không? Tôi đã thử thêm

  <configuration> 
       <testSourceDirectory>src/test/java</testSourceDirectory> 
      </configuration> 

vào plugin chắc chắn, nhưng nó không giúp gì cả.

+3

Bao gói Pom dành cho dự án chỉ siêu dữ liệu, phải không? Bạn đang cố làm gì vậy? –

+1

Tôi đang thực sự trong cùng một kịch bản này - Tôi chỉ có một mô-đun của các kiểm tra hệ thống mà tôi muốn chạy nhưng không tạo ra một cái lọ ra khỏi chúng. Tuy nhiên tôi không thể kiểm tra để chạy mà không thực sự xác định một loại bao bì của một cái gì đó bên cạnh pom. Làm thế nào tôi sẽ làm điều đó (điều này có lẽ xứng đáng với một câu hỏi riêng biệt). – whaley

+0

@DaveNewton Tôi muốn làm điều này bởi vì nó không phải là một ứng dụng java, tôi muốn tạo một tệp zip với các kịch bản cơ sở dữ liệu như là tạo phẩm. – user977208

Trả lời

10

Như nhận xét của Dave, nếu bạn đang sử dụng pom bao bì, nó chỉ thực hiện các mục tiêu vòng đời sau đây. Tham khảo this tài liệu về maven liên quan.

  • gói
  • cài đặt
  • triển khai

Nếu bạn cần nó để chạy bất kỳ mục tiêu khác, bạn sẽ cần phải xác định nó một cách rõ ràng. Ví dụ:

mvn clean compiler:testCompile surefire:test 
+0

Oh cảm ơn bạn! Tôi biết nó không được gắn với giai đoạn thử nghiệm, nhưng nó không nhấn vào đầu của tôi rằng tôi sẽ cần phải chạy trình biên dịch: testCompile là tốt. – user977208

+0

Một câu hỏi nữa. Tôi nghĩ rằng tôi có thể điều này để ràng buộc trình biên dịch: testCompile để giai đoạn thử nghiệm, nhưng nó không có vẻ làm việc. Bất kỳ đề xuất? org.apache.maven.plugins maven-biên dịch-plugin 2.3.2 thử biên dịch testCompile user977208

+0

Không sao, tôi có hai phần maven-compiler-plugin, vì vậy nó đã bị ghi đè – user977208

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