2010-06-12 26 views
8

Tôi đang gặp một số khó khăn khi sử dụng JUnit 4.5 trong Eclipse, khi tôi sử dụng chú giải @Before nó không làm gì cả (tôi có thể sử dụng setUp(). là sai), trong khi nó hoạt động hoàn hảo trong Netbeans .. Bất kỳ suy nghĩ?Eclipse JUnit @Trước khi chú thích vấn đề

+1

Đăng kiểm tra mẫu để chúng tôi có thể xem – skaffman

+4

Bạn có đang mở rộng TestCase không? Nếu vậy tôi nghĩ nó bỏ qua chú thích. – Pace

+0

bạn đã chỉ định lọ tốt cho dự án của mình chưa? – Aif

Trả lời

2

Nếu bạn đang sử dụng JUnit 4, bạn chỉ có thể chú thích lớp thử nghiệm hoặc phương pháp thử với chú thích @Test, thay vì mở rộng TestCase.

+0

Anh ấy hỏi về chú giải @Before, anh ấy không nói gì về các kiểm tra không chạy được. –

+0

Mặc dù điều này đúng nhưng điều này không giải quyết được câu hỏi mà OP đã hỏi. –

4

Vì tôi cam ở đây thông qua Tìm kiếm của Google và phải đào sâu hơn một chút để xem giải pháp thực tế: Như @Pace đã nêu trong các nhận xét, nếu bạn extend TestCase, Eclipse coi Bài kiểm tra là JUnit Phiên bản 3 trở lên , và không tôn trọng @Before chú thích - cũng descripred đây: JUnit + Maven + Eclipse: Why @BeforeClass does not work?

Do đó, loại bỏ các nguyên nhân extend TestCase sửa chữa vấn đề

2

Vì bạn đang sử dụng JUnit 4+ có hai cách để viết một trường hợp thử nghiệm

1> Bạn tạo lớp kiểm tra extend TestCase. Trong trường hợp này, các lớp tương ứng với Junit 3 được chọn không nhận biết được chú thích @Before. Trong trường hợp này, bạn sẽ phải ghi đè

/** 
* Sets up the fixture, for example, open a network connection. 
* This method is called before a test is executed. 
*/ 
protected void setUp() throws Exception { 
} 

2> sử dụng chú thích. sử dụng chú thích @Test cho phương thức trong lớp thử nghiệm mà bạn quan tâm để chạy thử nghiệm. Không cần lớp học của bạn để extend TestCase. Ngoài ra, bạn không cần phải ghi đè lên bất kỳ phương thức nào. Chỉ cần xác định phương thức của riêng bạn có logic được thực thi trước khi phương thức thử chạy và chú thích nó bằng chú thích @Before.

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