以下のMockオブジェクトで助けてもらえますか? このクラスの模擬テストケースを書きたい。インターフェイスを模擬したいMockitoとのインタフェースを模擬しました
public interface orderIf{
List<Order> ordersFor(String type);
}
この実装は存在しません。
public class serviceImpl implements service {
private List <Order> orders ;
private orderIF orderif ; // this is 3rd party interface
public int getval(String type) {
//some code
// this returns a list of objects (orders)
orders = orderif.ordersFor(type);
// some code
return orders.get(0)
}
私は運がないと以下を試しています。ヌルインタラクションを受信します。
public class ServiceImplTest {
private List <Order> ll ;
private service reqService ;
@InjectMocks
private orderIF order;
@Before
public void setUp() throws Exception {
ll = new ArrayList<Order>();
ll.add(new Order("Buy" , 11 , "USD"));
ll.add(new Order("Sell" , 22 , "USD"));
reqService = spy(new ServiceImpl());
}
@Test
public void test() {
String type= "USD" ;
when(order.ordersFor(type)).thenReturn(ll);
q = reqService.getval(type);
assertTrue(q.get().ask == 232.75);
}
}
あなたのコードのどこにNPEがありますか? – Ralf