2010-06-27 27 views
5

Tôi có hai bộ kiểm thử tích hợp trong một dự án maven - các thử nghiệm tự động và thủ công. Các bài kiểm tra thủ công rất ít nhưng tẻ nhạt - họ yêu cầu kéo các máy chủ vv Tôi muốn tạo một mục tiêu riêng cho các bài kiểm tra thủ công, vì vậy tôi có thể chạy một cái gì đó như mvn manualtests để chạy các bài kiểm tra thủ công. Nếu bạn chỉ cần chạy một maven xây dựng bình thường mvn install hoặc lâu hơn, các thử nghiệm tự động sẽ được chạy.Maven - thêm giai đoạn tùy chỉnh để thực thi plugin với cấu hình khác

Tôi đã chú thích các kiểm tra thủ công với chú thích TestNG @Test(groups="manual". Mục tiêu bây giờ là có hai cấu hình của plugin chắc chắn, một chạy thử nghiệm tự động được liên kết với giai đoạn thử nghiệm của bản dựng, và chạy thử nghiệm thủ công được liên kết với một giai đoạn tùy chỉnh khác mà tôi muốn gọi manualtests. Có vẻ như không thể ràng buộc thực thi một plugin vào một giai đoạn không tồn tại (tức là một phần không được định nghĩa trước bởi maven). Không thể xác định các giai đoạn của riêng bạn?

Trả lời

1

Điều đó có thể xảy ra, mặc dù không dễ dàng. Bước đầu tiên: xem xét cách nó được thực hiện theo mặc định.

sử dụng phụ thuộc này:

<dependency> 
    <groupId>org.apache.maven</groupId> 
    <artifactId>maven-core</artifactId> 
    <version>${maven.version}</version> 
</dependency> 

lấy nguồn khác nhau và có một cái nhìn tại components.xml bên META-INF/đám rối. ở đó, cả các pha mặc định và các ràng buộc vòng đời/pha mặc định được xác định.

tạo một plugin đó sẽ ghi đè những giai đoạn mặc định (trong components.xml riêng của nó) và define it as an extension

+0

không dễ dàng chút nào ... có lẽ một có thể tạo một plugin sẽ tự động thêm vòng đời dựa trên cấu hình plugin. Tôi sẽ nhìn vào nó. –

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