どなたか、解決策をご教示いただけますでしょうか。
Javaにて、jmockit+junitでテストを行っております。
privateメソッド(下ソース:SampleTarget.setDto)をMock化し実行したところIllegalArgumentExceptionとなりました。
エラーから調べた限りビルド・パスやVM引数などの設定に原因があることが多いようだったので設定を見直しましたがエラーが解決されません。
jmockitの設定で他に必要なものや、考えられる原因に心当たりがありましたらご教示いただきたいです。
お手数をおかけいたしますが、よろしくお願いいたします。
発生している問題・エラーメッセージ
java
1java.lang.IllegalArgumentException 2 at SamplePropTest.<init>(SamplePropTest:10) 3 at SamplePropTest.test001(SamplePropTest:10)
該当のソースコード
java
1package sample; 2 3import Sample1; 4import Smaple2; 5 6/** 7 * テスト対象クラス. 8 */ 9public class SampleTarget { 10 11 private Dto setDto(Sample1 sample1, Smaple2 sample2) 12 throws Exception { 13 Dto dto = new Dto(); 14 15 dto.setAAA(sample1.AAA); 16 dto.setBBB(sample2.BBB); 17 18 return dto; 19 } 20} 21
java
1 2public class SamplePropTest extends TestCase{ 3 4 @Before 5 public void setUp(){ 6 initMocks(this); 7 } 8 9 @Test 10 public void test001() throws Exception{ 11 12 Dto mockDto = new Dto(); 13 mockDto.setAAA(aaa); 14 mockDto.setBBB(bbb) 15 16 newMockUp<SampleTarget>(){ 17 @Mock 18 private Dto setDto(any(), any()){ 19 return mockDto; 20 } 21 }; 22 }
補足情報
・JDK:11.0.2
・JUnit:4.12
・Eclipse:4.16
・org.jmockit:jmockit:1.49
・gradle
試したこと
・ビルドのクラスパスをjmockit→junitにする
gradle
1dependencies { 2 testCompile 'org.jmockit:jmockit:1.49' 3 testCompile 'junit:junit:4.12' 4}
・JMockit 1.49のjarファイルをダウンロードしてクラスパス(ビルドパス)に設定
・「Javaのビルド・パス」画面の「順序およびエクスポート」タブで順番を設定します。JMockit、JUnitの順になるよう設定
・VM引数にjavaagent:C:\XXX\jmockit-1.49.jarを設定
あなたの回答
tips
プレビュー