2012-06-18 34 views
8

Tôi đã xây dựng một đối tượng giả sử dụng EasyMock, và tôi đang cố gắng để đối tượng trả về một đối tượng khác sau khi gọi phương thức. Cuộc gọi phương thức không gây ra bất kỳ ngoại lệ nào được ném, nhưng nó trả về null, mặc dù tôi chắc chắn cuộc gọi andReturn() có một đối số không null.EasyMock andReturn() null return value

Trả lời

15

Vấn đề ở đây là tôi đã không được gọi là replay() trên đối tượng giả sau khi xác định hành vi. Vì một số lý do, điều này khiến nó cho phép một số hành vi mong đợi, nhưng luôn trả về giá trị rỗng khi có giá trị trả về. Hãy nhớ gọi replay() trước khi sử dụng mô hình.

+2

cũng lưu ý rằng khi bạn chỉ cần nói 'andReturn()' chỉ tốt cho một cuộc gọi của phương thức được mô phỏng. Bạn có thể chỉ định số lượng cuộc gọi bạn muốn trả về giá trị để sử dụng, ví dụ: 'andReturn (...). AnyTimes()' – grinch

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