2013-04-25 13 views
5

Tôi vừa chuyển hình thức dự án của tôi Netbeans thành intelliJ IDEA, một dự án thử nghiệm dựa trên junit của nó. Trong netbeans tôi đã sử dụng các số liệu thống kêassertBáo cáo phát hành yêu cầu nhập tĩnh trong intelliJ IDEA?

assertTrue("Message", conditionCustom()); 

và nó đang hoạt động mà không cần nhập thêm. Bây giờ khi sử dụng cùng lệnh trên trong intelliJ, tôi phải nhập tệp

import static org.junit.Assert.assertTrue; 

có cách nào để không cần phải viết dòng trên vào tệp mã của tôi không? nếu không tôi phải chỉnh sửa tất cả các tập tin của tôi để có được tuyên bố assertTrue làm việc.

+0

Bạn có chắc chắn rằng bạn không sử dụng JUnit 3 trước đây và JUnit 4 bây giờ không? – NilsH

+0

Tôi không chắc chắn. nhưng trong intelliJ tại sao tôi cần phải thêm junit vào classpath của tôi để làm cho nó hoạt động? Tôi đang sử dụng dự án dựa trên maven bây giờ. – coure2011

Trả lời

14

Bạn có thể phải thêm việc nhập khẩu tĩnh HOẶC làm rõ những gì lớp đó gọi tĩnh được kết hợp với:

Assert.assertTrue("Message", conditionCustom()); 

Tôi thường sử dụng sau này vì tôi nghĩ rằng đó là rõ ràng hơn.

Java sẽ không biên dịch trừ khi nó có thể tìm ra lớp nào liên kết phương thức tĩnh đó với.

Tôi đoán rằng có lẽ bạn sử dụng thừa kế để liên kết phương pháp tĩnh đó với thử nghiệm của bạn.

+0

Ví dụ sẽ tốt hơn khi sử dụng 'Assert.fail (" Message ")'. Tin hay không, tôi đã kế thừa mã nơi nhà phát triển trước đó sử dụng liên tục 'Assert.true (false);' để biểu thị sự thất bại (hy vọng họ không tìm hiểu nó từ đây). – Thunderforge

+0

Ví dụ của tôi không nên làm những gì bạn ngụ ý. Tôi đã chỉnh sửa để làm cho nó trông giống như câu hỏi ban đầu. – duffymo