回答編集履歴

4

修正

2019/07/11 01:31

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -46,4 +46,10 @@
46
46
 
47
47
  それだと単体というより結合なので、やはりあくまで**単体で要件が完了すること**が望ましいと思います。
48
48
 
49
+
50
+
49
- コントローラに返ってくるのはBの結果なので「Aって何のためにあるの?」という疑問もあります
51
+ コントローラに返ってくるのはBの結果なので「Aって何のためにあるの?」という疑問もあります
52
+
53
+ こういったモデルも本質的には役割分担を目的としているので、なるべく「部品を作って組み立てる(組み合わせる)」ような考え方ができれば良いのではと。
54
+
55
+ 「Aが単体で使われるのか」「Bが単体で使われるのか」という部分も含めて設計ですね。

3

修正

2019/07/11 01:31

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
File without changes

2

修正

2019/07/11 01:31

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -44,6 +44,6 @@
44
44
 
45
45
  もちろん、「Aを呼び出した結果を利用してBのテストを通す」という前提にすれば可能かもしれませんが、
46
46
 
47
- それだと単体というより結合なので、やはりあくまで「個々に動作可能であことが望ましいと思います。
47
+ それだと単体というより結合なので、やはりあくまで**単体で要件完了すること**が望ましいと思います。
48
48
 
49
49
  ※コントローラに返ってくるのはBの結果なので「Aって何のためにあるの?」という疑問もあります

1

修正

2019/07/11 01:24

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -31,3 +31,19 @@
31
31
 
32
32
 
33
33
  私が以前関わった業務ではJUnitによる単体テストはサービスのみを通していました。コントローラはあくまで「サービスを通して画面に必要な情報を取得する場所」という位置づけであるためですね。
34
+
35
+
36
+
37
+ つまり、
38
+
39
+ > 後者の場合は、ASeviceの処理結果を呼び出し元に返し、その結果をBServiceに渡して、BServiceの結果を受け取り、この2つの処理の結果を呼び出し元で結合する。
40
+
41
+
42
+
43
+ この場合、「A」だけ「B」だけで単体評価が可能となるのか?というのがカギになってきます。
44
+
45
+ もちろん、「Aを呼び出した結果を利用してBのテストを通す」という前提にすれば可能かもしれませんが、
46
+
47
+ それだと単体というより結合なので、やはりあくまで「個々に動作が可能である」ことが望ましいと思います。
48
+
49
+ ※コントローラに返ってくるのはBの結果なので「Aって何のためにあるの?」という疑問もあります