2015-03-11 27 views

Trả lời

19

Để xác định kết quả cho một ghi sự mong đợi, gán nó (hoặc giá trị trả lại hoặc trường hợp ngoại lệ để ném) đến result lĩnh vực:

new Expectations() {{ 
    someMockedMethodOrConstructorInvocation(...); result = new IllegalStateException(); 
}}; 
+0

Tôi đã thử ở trên; nhưng thay vì chế nhạo, nó gọi phương thức khởi tạo thực tế và tạo các đối tượng thay thế: ( –

+1

Bạn chỉ có thể ghi lại một kỳ vọng trên một phương thức hoặc hàm tạo đã được * chế nhạo *; thường có nghĩa là bạn khai báo một trường mô hình hoặc tham số giả sử dụng một của các chú thích nhạo báng, chẳng hạn như "' @ Mocked' ". Nếu không, phương thức hoặc hàm dựng thực tế thực sự sẽ được thực thi. –

+0

Ok đã nhận được điểm! Cảm ơn bạn –

0

chúng ta nên thêm các lớp học để được giả ed như các tham số trong phương thức của test.and sử dụng kết quả, chúng ta có thể giả định kết quả của phương thức.

@Test 
    public void testCase(@Mocked final ClassToMock classToMockObject){ 

     new NonStrictExpectations() { 
       {  
     classToMockObject.methodToMock();result=NullPointerException(); 
      }}; 

     classToMockObject.methodToMock(); //calling the method to throw exception 
    } 
Các vấn đề liên quan