0

EasyMock を初めて試してみました。

私はそれをうまく行っているようですが、モックされたクラスが「返す」メソッドを実行するという事実ですぐに停止します void (EntityManager.remove(abc))。

テストを開始するために部分的に EntityManger をモックすることができます。

EasyMock.expect(this.mockManager.find(Some.class, id)).andReturn(mock);

、しかし、「削除」の場合に同じことを行うにはどうすればよいですか?

できません(例):

EasyMock.expect(this.mockManager.remove(rek)).andReturn(Boolean(true));

何もしないと、次のようになります。

java.lang.AssertionError: 
Unexpected method call EntityManager.remove(EasyMock for class my.package.Some)...

パーツを削除する前にロジックをテストする必要がありますが、実際に成功するかどうかは気にしません (別のことになります)。

4

1 に答える 1

1

電話する必要はありませんEasyMock.expect()。使うだけ

this.mockManager.remove(rek);

記録フェーズ中 ( を呼び出す前replay())。

たとえば、モック化されたメソッドで例外をスローしたり、2 回呼び出されたりする場合は、次を使用しますexpectLastCal()

this.mockManager.remove(rek);
expectLastCall().andThrow(new RuntimeException());
//or expectLastCall().times(2);
于 2013-04-30T11:46:19.770 に答える