質問編集履歴
5
throws追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
}
|
79
79
|
|
80
80
|
@Test
|
81
|
-
public void piyoTest() {
|
81
|
+
public void piyoTest() throws Exception {
|
82
82
|
new Expectations() {{
|
83
83
|
// 何らかの処理のテスト
|
84
84
|
}};
|
4
不要な処理の削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,10 +82,9 @@
|
|
82
82
|
new Expectations() {{
|
83
83
|
// 何らかの処理のテスト
|
84
84
|
}};
|
85
|
-
Method method = Hoge.class.getDeclaredMethod("piyo" );
|
85
|
+
Method method = Hoge.class.getDeclaredMethod( "piyo" );
|
86
86
|
method.setAccessible( true );
|
87
|
-
method.invoke( hoge);
|
87
|
+
method.invoke( hoge );
|
88
|
-
hoge.piyo();
|
89
88
|
}
|
90
89
|
}
|
91
90
|
```
|
3
質問内容について一部解決したため編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
JUnit・JMockit
|
1
|
+
【JUnit・JMockit】protectedメソッド/privateメソッドが呼ばれたかテストする方法
|
test
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
### 実現したいこと
|
9
9
|
|
10
10
|
- publicメソッド内でprotectedメソッドが呼び出されたかのチェック
|
11
|
-
- protectedメソッドやprivateメソッド自体のテスト
|
12
11
|
|
13
12
|
### テスト対象のソースコード
|
14
13
|
|
@@ -73,7 +72,7 @@
|
|
73
72
|
@Test
|
74
73
|
public void fugaTest() {
|
75
74
|
new Expectations() {{
|
76
|
-
Fuga.fuga(); //★
|
75
|
+
Fuga.fuga(); //★
|
77
76
|
}};
|
78
77
|
hoge.fuga();
|
79
78
|
}
|
@@ -83,15 +82,15 @@
|
|
83
82
|
new Expectations() {{
|
84
83
|
// 何らかの処理のテスト
|
85
84
|
}};
|
85
|
+
Method method = Hoge.class.getDeclaredMethod("piyo" );
|
86
|
+
method.setAccessible( true );
|
87
|
+
method.invoke( hoge);
|
86
|
-
hoge.piyo();
|
88
|
+
hoge.piyo();
|
87
89
|
}
|
88
90
|
}
|
89
91
|
```
|
90
92
|
|
91
|
-
★1
|
92
|
-
スーパークラスのメソッドを呼び出していることを確認したいのですが、Fuga
|
93
|
+
スーパークラスのメソッドを呼び出していることを確認したいのですが、Fuga#fugaはprotectedメソッドのためHogeTestから呼び出せません。
|
93
|
-
|
94
|
-
★2
|
95
|
-
p
|
94
|
+
piyoTestのようにリフレクションを使ってFuga#fugaを呼び出すことは可能だと思いますが、Expectationsでの呼び出し回数のチェックに引っかからなくなってしまいます。
|
96
95
|
|
97
96
|
上記のような場合はどのようにテストするのでしょうか。
|
2
書式の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
JUnitとJMockitでJavaプログラムのユニットテストを作成しています。
|
4
4
|
テストクラスは、テスト対象とは別のパッケージにあります。
|
5
|
+
|
5
|
-
テストクラス
|
6
|
+
テストクラスのパッケージ変更や、対象クラスのアクセス修飾子は変更せずに対応したいです。
|
6
7
|
|
7
8
|
### 実現したいこと
|
8
9
|
|
1
脱字(引数記載漏れ)修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -61,10 +61,12 @@
|
|
61
61
|
|
62
62
|
@Test
|
63
63
|
public void hogehogeTest() {
|
64
|
+
final String foo = "test";
|
65
|
+
|
64
66
|
new Expectations() {{
|
65
67
|
// 何らかの処理のテスト
|
66
68
|
}};
|
67
|
-
hoge.hogehoge();
|
69
|
+
hoge.hogehoge( foo );
|
68
70
|
}
|
69
71
|
|
70
72
|
@Test
|