質問編集履歴

4

エラー改善

2021/05/02 20:42

投稿

goriwo
goriwo

スコア17

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,14 @@
116
116
 
117
117
  ビルドパスの構成でやってみたんですがいまいちわかりませんでした
118
118
 
119
+ ```
120
+
121
+ @Sql("testdata.sql")
122
+
123
+ ```
124
+
125
+ この指定の仕方でもだめでした
126
+
119
127
  今のファイルの配置
120
128
 
121
129
  ![イメージ説明](4b6f18d70063d33774854f95a91498c3.png)

3

エラー改善

2021/05/02 20:42

投稿

goriwo
goriwo

スコア17

test CHANGED
File without changes
test CHANGED
File without changes

2

エラー改善

2021/05/02 20:39

投稿

goriwo
goriwo

スコア17

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,10 @@
116
116
 
117
117
  ビルドパスの構成でやってみたんですがいまいちわかりませんでした
118
118
 
119
+ 今のファイルの配置
120
+
121
+ ![イメージ説明](4b6f18d70063d33774854f95a91498c3.png)
122
+
119
123
 
120
124
 
121
125
  ### 補足情報(FW/ツールのバージョンなど)

1

エラー改善

2021/05/02 20:36

投稿

goriwo
goriwo

スコア17

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,97 @@
18
18
 
19
19
 
20
20
 
21
+ エラー文
21
22
 
23
+ ```
24
+
25
+ : Rolled back transaction for test: [DefaultTestContext@2bb7bd00 testClass = UserDaoTest, testInstance = com.example.demo.UserDaoTest@5358c8fa, testMethod = countTest2@UserDaoTest, testException = org.springframework.jdbc.datasource.init.CannotReadScriptException: Cannot read SQL script from class path resource [src/test/resources/testdata.sql]; nested exception is java.io.FileNotFoundException: class path resource [src/test/resources/testdata.sql] cannot be opened because it does not exist, mergedContextConfiguration = [WebMergedContextConfiguration@5f031ebd testClass = UserDaoTest, locations = '{}', classes = '{class com.example.demo.SpringSampleApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.t
26
+
27
+ ```
28
+
29
+
30
+
31
+ ソースコード
32
+
33
+ ```
34
+
35
+ package com.example.demo;
36
+
37
+
38
+
39
+ import static org.junit.jupiter.api.Assertions.*;
40
+
41
+
42
+
43
+ import org.junit.jupiter.api.Test;
44
+
45
+ import org.junit.runner.RunWith;
46
+
47
+ import org.springframework.beans.factory.annotation.Autowired;
48
+
49
+ import org.springframework.beans.factory.annotation.Qualifier;
50
+
51
+ import org.springframework.boot.test.context.SpringBootTest;
52
+
53
+ import org.springframework.test.context.jdbc.Sql;
54
+
55
+ import org.springframework.test.context.junit4.SpringRunner;
56
+
57
+ import org.springframework.transaction.annotation.Transactional;
58
+
59
+
60
+
61
+ import com.example.demo.Repository.UserDao;
62
+
63
+ //JUnit Javaプログラムの単体テストを行うためのツール
64
+
65
+ //テスト用のアノテーション
66
+
67
+ @RunWith(SpringRunner.class)//テストをどのクラスで実行するか指定(spring用のJUnitを使えるクラス)
68
+
69
+ @SpringBootTest//springbootを起動してからテスト開始
70
+
71
+ @Transactional//トランザクションの開始、コミット、ロールバックは自動
72
+
73
+ public class UserDaoTest {
74
+
75
+ @Autowired
76
+
77
+ @Qualifier("UserDaoJdbcImpl")
78
+
79
+ UserDao dao;
80
+
81
+ //カウントメソッドのテスト1
82
+
83
+ @Test
84
+
85
+ public void countTest1() {
86
+
87
+ //カウントメソッドの結果が2件であることをテスト
88
+
89
+ assertEquals(dao.count(),2);
90
+
91
+ }
92
+
93
+ @Test
94
+
95
+ @Sql(scripts="classpath:src/test/resources/testdata.sql")//SQLを実行した後の状態でテスト
96
+
97
+ public void countTest2() {
98
+
99
+ //カウントメソッドの結果が3件であることをテスト
100
+
101
+ assertEquals(dao.count(),3);
102
+
103
+ }
104
+
105
+
106
+
107
+ }
108
+
109
+
110
+
111
+ ```
22
112
 
23
113
  ### 試したこと
24
114