注入された依存メソッドが異なる引数タイプで2回呼び出されることを確認したいと思います。だから私のクラスがあるとしますJMockitは、異なる引数で2回呼び出される注入可能メソッドを検証します。
public class MyClass {
@PersistenceContext(name = "PU")
EntityManager entityManager;
public void doSomething() {
Customer customer = new Customer();
Address customerAddress = new Address;
entityManager.persist(customer)
entityManager.persist(customerAddress);
}
}
@PersistenceContextが特定peristenceユニットのEntityManagerを注入するために、アプリケーション・サーバーを伝えるためのJava EE特定のアノテーションです。
私は、一度Customerオブジェクトを渡してもう一度Addressオブジェクトを渡すと、persistが2回呼び出されることをテストしたいと思います。次のテストクラスを作成
が渡されます。
public class MyClassTests {
@Tested
MyClass myClass;
@Injectable
EntityManager entityManager;
@Test
public void TestPersistCustomerAndAddress() {
new Expectations() {{
entityManager.persist(withAny(Customer.class));
entityManager.persist(withAny(Address.class));
}};
myClass.doSomething();
}
}
しかしJMockitはwithAnyに渡されたクラス型を無視しているようです。私は基本的にwithAny(Date.class)にwithAnyを変更することができ、テストは引き続き行われます。
渡す特定のオブジェクトタイプを確認する方法はありますか?
注意 'withAny(Class)'メソッドはありませんが、 'withAny(T)'メソッドのみがあります。 'T'は型キャストの必要性を避けるジェネリック型パラメータです。また、コードエディタからAPIドキュメントをすぐに参照できるように、Java IDEの設定をお勧めします。 –