質問編集履歴

5

throws追加

2022/10/19 04:18

投稿

oc_o
oc_o

スコア1

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

不要な処理の削除

2022/10/19 02:40

投稿

oc_o
oc_o

スコア1

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

質問内容について一部解決したため編集

2022/10/19 02:35

投稿

oc_o
oc_o

スコア1

test CHANGED
@@ -1 +1 @@
1
- JUnit・JMockitを利用したprotectedメソッド/privateメソッドテスト方法について
1
+ JUnit・JMockitprotectedメソッド/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(); //★1
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(); //★2
88
+ hoge.piyo();
87
89
  }
88
90
  }
89
91
  ```
90
92
 
91
- ★1
92
- スーパークラスのメソッドを呼び出していることを確認したいのですが、Fuga.fuga()はprotectedメソッドのためHogeTestから呼び出せません。
93
+ スーパークラスのメソッドを呼び出していることを確認したいのですが、Fuga#fugaはprotectedメソッドのためHogeTestから呼び出せません。
93
-
94
- ★2
95
- privateメソッド自体テストも同様に呼び出すことがでせん
94
+ piyoTestのようリフレクションを使ってFuga#fugaを呼び出すことは可能だと思います、Expectationsの呼び出し回数のチェックに引っかからなくなってしいます
96
95
 
97
96
  上記のような場合はどのようにテストするのでしょうか。

2

書式の改善

2022/10/19 01:21

投稿

oc_o
oc_o

スコア1

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

脱字(引数記載漏れ)修正

2022/10/19 01:19

投稿

oc_o
oc_o

スコア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