teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

ソースコード修正

2018/06/27 06:08

投稿

SaganoKei
SaganoKei

スコア13

title CHANGED
File without changes
body CHANGED
@@ -21,23 +21,23 @@
21
21
 
22
22
  @Test
23
23
  public void DM異常系1(){
24
- New Expectations(){
24
+ new Expectations() {{
25
25
  DriverManager.getConnection(); result = new ClassNotFoundException();
26
- }
26
+ }};
27
27
  dao.method();
28
28
  }
29
29
  @Test
30
30
  public void DM異常系2(){
31
- New Expectations(){
31
+ new Expectations() {{
32
32
  DriverManager.getConnection(); result = new SQLException();
33
- }
33
+ }};
34
34
  dao.method();
35
35
  }
36
36
  @Test
37
37
  public void Conn異常系1(){
38
- New Expectations(){
38
+ new Expectations() {{
39
39
  conn.close(); result = new SQLException();
40
- }
40
+ }};
41
41
  dao.method();
42
42
  }
43
43
 

3

情報追記・ソースコードの記述が間違っていたので修正

2018/06/27 06:07

投稿

SaganoKei
SaganoKei

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,13 @@
1
1
  ### 問題
2
- JUnit+Jmockitで、DAOクラスのテストケースを作成しているのですが、DAOの異常系ルートの検査をしたくてDriverManager.getConnection()メソッドとConnnection.close()メソッドでExceptionを投げさせたいと考えてます。
2
+ JUnit+Jmockitで、DAOクラスのテストケースを作成しているのですが、DAOの異常系ルートの検査をしたくて~~DriverManager.getConnection()メソッドと~~Connnection.close()メソッドでExceptionを投げさせたいと考えてます。
3
3
  ただ、ネット等ではnew Expectationsで指定しているものが散見されますが、それで実際カバレッジをしてみるとうまくスロー出来ておらず困っています。なにか良い方法はないでしょうか。
4
4
 
5
+ 追記:
6
+ 先日テストメソッドを作り直してみたところ、DriverManagerメソッドのモック化には成功しました。
7
+ ただ、Connectionクラスのモック化は今だ作れていません。
8
+ Connectionクラスがインターフェースであることが要因だと推測はしているのですが・・・
9
+
10
+
5
11
  ### ソースコード
6
12
  ```Java
7
13
 
@@ -18,21 +24,21 @@
18
24
  New Expectations(){
19
25
  DriverManager.getConnection(); result = new ClassNotFoundException();
20
26
  }
21
- dao.method()
27
+ dao.method();
22
28
  }
23
29
  @Test
24
30
  public void DM異常系2(){
25
31
  New Expectations(){
26
32
  DriverManager.getConnection(); result = new SQLException();
27
33
  }
28
- dao.method()
34
+ dao.method();
29
35
  }
30
36
  @Test
31
37
  public void Conn異常系1(){
32
38
  New Expectations(){
33
- DriverManager.getConnection(); result = new SQLException();
39
+ conn.close(); result = new SQLException();
34
40
  }
35
- dao.method()
41
+ dao.method();
36
42
  }
37
43
 
38
44
  ```

2

ソースコード修正

2018/06/26 00:28

投稿

SaganoKei
SaganoKei

スコア13

title CHANGED
File without changes
body CHANGED
@@ -14,21 +14,21 @@
14
14
  DAO dao = new DAO();
15
15
 
16
16
  @Test
17
- DM異常系1(){
17
+ public void DM異常系1(){
18
18
  New Expectations(){
19
19
  DriverManager.getConnection(); result = new ClassNotFoundException();
20
20
  }
21
21
  dao.method()
22
22
  }
23
23
  @Test
24
- DM異常系2(){
24
+ public void DM異常系2(){
25
25
  New Expectations(){
26
26
  DriverManager.getConnection(); result = new SQLException();
27
27
  }
28
28
  dao.method()
29
29
  }
30
30
  @Test
31
- Conn異常系1(){
31
+ public void Conn異常系1(){
32
32
  New Expectations(){
33
33
  DriverManager.getConnection(); result = new SQLException();
34
34
  }

1

誤字修正

2018/06/24 01:43

投稿

SaganoKei
SaganoKei

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 問題
2
2
  JUnit+Jmockitで、DAOクラスのテストケースを作成しているのですが、DAOの異常系ルートの検査をしたくてDriverManager.getConnection()メソッドとConnnection.close()メソッドでExceptionを投げさせたいと考えてます。
3
- ただ、ネット等ではnew Expectationsで指定しいるものが散見されるのですが、それで実際カバレッジをしてみるとうまくスロー出来ておらず困っています。なにか良い方法はないでしょうか。
3
+ ただ、ネット等ではnew Expectationsで指定しいるものが散見されすが、それで実際カバレッジをしてみるとうまくスロー出来ておらず困っています。なにか良い方法はないでしょうか。
4
4
 
5
5
  ### ソースコード
6
6
  ```Java