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

回答編集履歴

3

修正

2015/02/15 06:15

投稿

munyaX
munyaX

スコア783

answer CHANGED
@@ -31,9 +31,9 @@
31
31
 
32
32
  しかしここで以下のようなテストを行った場合、期待した通りには動いてくれません。
33
33
  これでバグがひとつ見つかりました。
34
- if( subtract("a", 5)) printf("OK"); //nullが返ってくるか
34
+ if( subtract("a", 5) === null ) printf("OK"); //nullが返ってくるか
35
- if( subtract(5, "a")) printf("OK"); //nullが返ってくるか
35
+ if( subtract(5, "a") === null ) printf("OK"); //nullが返ってくるか
36
- if( subtract("a", "a")) printf("OK"); //nullが返ってくるか
36
+ if( subtract("a", "a") === null ) printf("OK"); //nullが返ってくるか
37
37
 
38
38
  このように様々な条件下で「部品」が期待した通り(仕様書通り)に動くかテストを行うのがユニットテストのイメージになります。これらは修正を加える度に行う必要がありますが、手作業で毎回行っていると大変すぎるので、テスト用のフレームワークを利用することが多いです。
39
39
 

2

修正

2015/02/15 06:15

投稿

munyaX
munyaX

スコア783

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  }
25
25
  ```
26
26
 
27
- 関数modに対して様々な値を渡し、どのように動作するかをテストします。
27
+ 関数subtractに対して様々な値を渡し、どのように動作するかをテストします。
28
28
  if( subtract(5, 3) === 2 ) printf("OK"); //2が返ってくるか
29
29
  if( subtract(3, 5) === -2 ) printf("OK"); //-2が返ってくるか
30
30
  if( subtract(-1, 1) === -2 ) printf("OK"); //-2が返ってくるか

1

修正

2015/02/15 06:13

投稿

munyaX
munyaX

スコア783

answer CHANGED
@@ -19,21 +19,21 @@
19
19
  * 引数a,bを受取り、その差分を返却する。
20
20
  * a, bのいずれかが整数でない場合はnullを返却する。
21
21
  */
22
- function diff(a, b){
22
+ function subtract(a, b){
23
23
  return(a - b);
24
24
  }
25
25
  ```
26
26
 
27
27
  関数modに対して様々な値を渡し、どのように動作するかをテストします。
28
- if( mod(5, 3) === 2 ) printf("OK"); //2が返ってくるか
28
+ if( subtract(5, 3) === 2 ) printf("OK"); //2が返ってくるか
29
- if( mod(3, 5) === -2 ) printf("OK"); //-2が返ってくるか
29
+ if( subtract(3, 5) === -2 ) printf("OK"); //-2が返ってくるか
30
- if( mod(-1, 1) === -2 ) printf("OK"); //-2が返ってくるか
30
+ if( subtract(-1, 1) === -2 ) printf("OK"); //-2が返ってくるか
31
31
 
32
32
  しかしここで以下のようなテストを行った場合、期待した通りには動いてくれません。
33
33
  これでバグがひとつ見つかりました。
34
- if( mod("a", 5)) printf("OK"); //nullが返ってくるか
34
+ if( subtract("a", 5)) printf("OK"); //nullが返ってくるか
35
- if( mod(5, "a")) printf("OK"); //nullが返ってくるか
35
+ if( subtract(5, "a")) printf("OK"); //nullが返ってくるか
36
- if( mod("a", "a")) printf("OK"); //nullが返ってくるか
36
+ if( subtract("a", "a")) printf("OK"); //nullが返ってくるか
37
37
 
38
38
  このように様々な条件下で「部品」が期待した通り(仕様書通り)に動くかテストを行うのがユニットテストのイメージになります。これらは修正を加える度に行う必要がありますが、手作業で毎回行っていると大変すぎるので、テスト用のフレームワークを利用することが多いです。
39
39