4

テスト対象のクラス (CUT) - ejb - には、プライベート メソッド "getConnection" があります。CUT の別の方法をテストしたいのですが、この方法は事前に失敗します。

以下のようにしてみましたが、「invoke」が間違っています。メソッドを呼び出したくない、スタブしたい。しかし、どのように?(「接続」はスタブです)

new NonStrictExpectations() {
  {
    invoke(archivingBean, "getConnection");result = connection;
  }
};
archivingBean.moveCreditBasic2Archive(new Date());
4

1 に答える 1

7

モックされた type の宣言がないことを除いて、テストは正しいです。この場合は EJB クラスです。

通常、モックされた型は完全にモックされます (すべてのメソッド)。このような場合、@Mocked MyEJB archivingBeanたとえば、テスト メソッドにパラメーターを宣言します。

一方、部分的なモッキングの場合は、次のNonStrictExpectations(Object...)ようにコンストラクターを使用します。

new NonStrictExpectations(archivingBean) {{ // <== note the argument here
    invoke(archivingBean, "getConnection"); result = connection;
}};
于 2013-06-20T18:12:40.060 に答える