Tôi đang làm việc trên dự án mà tôi cần thực hiện một số hành động trước khi chạy từng thử nghiệm JUnit. Vấn đề này đã được giải quyết bằng cách sử dụng RunListener
có thể được thêm vào lõi JUnit. Việc lắp ráp dự án được thực hiện sử dụng Maven, vì vậy tôi có những dòng này trong tập tin pom
tôi:Sử dụng JUnit RunListener trong IntelliJ IDEA
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>cc.redberry.core.GlobalRunListener</value>
</property>
</properties>
</configuration>
</plugin>
Vì vậy, mọi thứ hoạt động sử dụng:
mvn clean test
Nhưng khi kiểm tra được bắt đầu sử dụng IntelliJ (sử dụng thử nghiệm nội bộ của mình Á hậu) các hành động được mã hóa trong số RunListener
của chúng tôi không được thực hiện, do đó không thể thực hiện kiểm tra bằng cách sử dụng cơ sở hạ tầng IntelliJ.
Như tôi thấy, IntelliJ không phân tích cú pháp cấu hình này từ tệp pom, vậy có cách nào để nói rõ ràng với IntelliJ để thêm RunListener
vào lõi JUnit không? Có thể sử dụng một số tùy chọn VM trong cấu hình?
Sẽ thuận tiện hơn khi sử dụng môi trường thử nghiệm IntelliJ đẹp thay vì đọc đầu ra maven.
P.S. Hành động tôi cần thực hiện về cơ bản là thiết lập lại môi trường tĩnh (một số trường tĩnh trong các lớp của tôi).
Cảm ơn bạn đã giải pháp khác! Bây giờ tôi đang nghĩ chỉ để thêm một phụ huynh toàn cục cho tất cả các lớp thử nghiệm của tôi với phương thức '@ Before' được chỉ định. Vì vậy, trong mọi trường hợp, tôi sẽ phải chỉnh sửa tất cả các tệp thử nghiệm của mình. :(Tôi sẽ tạo một vé trong trình theo dõi lỗi IntelliJ để thêm tính năng này. – dbolotin