2010-03-21 40 views
7

Tôi đang sử dụng Junit 4. Toàn bộ chương trình của tôi đang hoạt động tốt. Tôi đang cố gắng viết một trường hợp thử nghiệm. Nhưng có một lỗi ...Vấn đề thử nghiệm Java Junit

đây là thử nghiệm mẫu rất cơ bản

public class di extends TestCase{ 
    private static Records testRec; 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      di.testRec.getEmployee() > 0); 
    } 

} 

và khi tôi chạy này nó cho tôi lỗi mà

fName can not be null 

nếu tôi sử dụng siêu và làm như thế này

public TestA() { 
super("testAbc"); 
} 

nó hoạt động tốt. Nó không phải là điều này trước với JUnit 3.x tôi làm sai hoặc họ thay đổi nó :( Xin lỗi nếu tôi không rõ ràng

Có cách nào để executre thử nghiệm mà không siêu? Hoặc gọi điện thoại chức năng vv?

+0

TestAgnes là gì? Nó không được đề cập trong đoạn mã đầu tiên. Vui lòng xóa câu hỏi của bạn. – Bozho

Trả lời

16

trong JUnit 4 bạn không cần phải mở rộng TestCase, thay vì sử dụng @Test chú thích để đánh dấu các phương pháp thử nghiệm của bạn:

public class MyTest { 
    private static Records testRec; 
    @Test 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      MyTest.testRec.getEmployee() > 0); 
    } 
} 

là một mặt lưu ý, thử nghiệm một thành viên static trong lớp học của bạn có thể làm các xét nghiệm đơn vị của bạn phụ thuộc vào mỗi khác, đó không phải là một điều tốt, trừ khi yo u có một lý do rất tốt cho điều này, tôi sẽ khuyên bạn nên loại bỏ các vòng loại static.

+1

cảm ơn câu trả lời của bạn. Khi tôi thử điều này, nó đã cho tôi lỗi "Loại không phù hợp: không thể chuyển đổi từ Kiểm tra thành Chú thích" tôi nên tránh lỗi này là gì? Nó cho tôi nếu tôi sử dụng @Test – user238384

+4

Có vẻ như bạn đã nhập một số lớp Test khác không phải là chú thích. Đảm bảo bạn nhập 'org.junit.Test', điều đó sẽ giải quyết vấn đề. –

+0

cảm ơn nó đã hoạt động! ! ! – user238384

0

Đây không phải là trường hợp của bạn nhưng lỗi này cũng có thể có nghĩa là bạn có tệp có tên Test.java trong dự án của mình. Đổi tên nó sẽ sửa lỗi nhưng sau khi tái cấu trúc @Test sẽ được đổi thành @NewName (ít nhất là trong Eclipse), do đó hãy nhớ tự thay đổi lại thành @Test.

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