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

質問編集履歴

2

書式改善

2021/10/14 04:49

投稿

chikara
chikara

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,19 @@
1
- 記事投稿Webアプリを自作しています。
1
+ 記事投稿Webアプリを自作しています。プログラミングの勉強し始めて1年ちょっとです。
2
2
  アイコン設定を実装したのですが、ダメもとで書いてみたコードでなぜか
3
- 正常に動作しています。(正常に動作しているのはありがたいのですが・・・)原因がわからず、テストコードを書いてみたら予想通りNullpointerException。テスト書き方が違う実装に問題あるか教えていただきたい
3
+ 正常に動作しています。(正常に動作しているのはありがたいのですが・・・)原因がわからず、テストコードを書いてみたら予想通りPersonControlleredit()メソッドif文内person.getIcon_file()NullなのでNullpointerExceptionが発生
4
+
5
+ テストではtestEditProfilePostSucccess()メソッド内の.andExpect(model().hasErrors)を.andExpect(status().isOk())にしてくれと言われるんですが、
6
+ 実際はmodel().hasErrors()にするとテストは正常に動作します。
7
+ 試しにPersonControllerのeditメソッドのbindingResult.hasErrors()をコメントアウトしてテストをすると
8
+ PersonControllerのperson.getIcon_file()がNullやから参照できません、と言われました。
9
+ Controllerの仕様は、return"redirect:/person/formなのでテストは.andExpect(status().isFound())になるはずです。
10
+
11
+ 解決したいことは、
12
+ ・そもそもアプリの動作が上手くいくのはどうしてか?(PersonControllerのedit()メソッドのperosn.getIcon_file()がNullなのでNullPointerExceptionが発生するのでは?)
13
+ ・(正常に動作しているので、実装が正しいと仮定して)テストはどう改善したら良いか
14
+
4
- プログラミングの勉強始めて1年ちょっとです。
15
+ 皆様、どうかご教授お願い致す。
16
+
5
17
  開発環境:Java 8
6
18
  Spring Boot 2.2.12
7
19
  My SQL 8.0.1
@@ -202,10 +214,4 @@
202
214
  mockMvc.perform(post("/person/edit").with(csrf()).params(params))
203
215
  .andExpect(status().isFound());
204
216
  }
205
- ```
217
+ ```
206
- 上記テストではandExpect(status().isOk())にしてくれと言われるんですが、
207
- 実際はmodel().hasErrors()にするとテストは正常に動作してしまいます。
208
- 試しにPersonControllerのeditメソッドのbindingResult.hasErrors()をコメントアウトしてテストをすると
209
- person.getIcon_file()がNullやから参照できません、と言われました。
210
- Controllerの仕様的にstatus().isFound()になるはずと思うんですが、
211
- ご教授お願い致します。

1

書式の改善

2021/10/14 04:48

投稿

chikara
chikara

スコア6

title CHANGED
File without changes
body CHANGED
@@ -26,8 +26,7 @@
26
26
 
27
27
  @OneToMany(mappedBy="person")
28
28
  private List<Blog> blogs;
29
- ```
29
+
30
- ```Java
31
30
  @Service
32
31
  public class PersonService {
33
32
  @Autowired
@@ -43,8 +42,7 @@
43
42
  personRepository.save(person);
44
43
  }
45
44
  }
46
- ```
45
+
47
- ```Java
48
46
  @Controller
49
47
  @RequestMapping("/person")
50
48
  public class PersonController {