2017-03-01 6 views
-1

私はクラスをテストするためにeasymockを使用しています。コードを書いた後、誤った入力があってもすべてのテストが成功することが分かります。スタックオーバーフローのフォーラムから、replayメソッドを使用することで回避できることがわかりましたが、replayも使用すると成功します。私は何が間違っているのか分からないのですか?あなたはコードを見て、私にテストを失敗させるためにそれ以上のことをしなければならないか教えてください。私はイージーモックのexpectメソッドは、偽のテストでもテスト結果を渡します。

service = EasyMock.createMock(MyService.class); 
menu = EasyMock.createMock(ISPFMenu.class); 
menu.setName("name"); 
menu.setTitle("title"); 

EasyMock.expect(service.createLinesToParseEasyMock(menu)).andReturn(null); 
EasyMock.replay(service); 
+0

を試してみました...テストが動作していないと思いますか? – Christian

+0

私の誤解。最後に確認を追加することは、おそらくあなたが望むものです。 – James

答えて

2

あなたはので、この呼び出しはnullを返す必要があります

EasyMock.verify(service); 
EasyMock.verify(menu); 

または代わり

EasyMock.verifyAll(); 
+0

はうまくいきます!ジェームズありがとう。確認の前にリプレイを使用する必要がありますか?私がフォーラムから読んだとき、私はテストを活性化するためにリプレイを使わなければならないが、それは必須ではないようだ。 – user2307786

+0

あなたの質問には違いはありません。実際に動作をテストするときには、リプレイが必要です。 – James

関連する問題