1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

テストでのSQL実行後のパターン分け

Posted at

概要

SQL実行で値を取得した時に、値がどうなっているかを条件に分岐処理をすることがあります。
その箇所のテストパターンを考えていると、ややこしくなったのであらためて整理したいと思います。

使用する「user_info」テーブル

id name age email_address
1 Asann 15 A@A.com
2 Bsann 20 B@B.com
3 Csann 25 NULL

テストパターン

4パターン考えられる。

1. SQL実行後ヒットし、値が存在している

select email_address from user_info where age = 15;

実行結果

email_address
A@A.com

1 row in set (0.00 sec)

1件は取得できている。

2. SQL実行後ヒットし、値が存在していない

select email_address from user_info where age = 25;

実行結果

email_address
NULL

1 row in set (0.00 sec)

1件は取得できているが、値はNULLであり存在していない。

3. SQL実行後ヒットしない(0件)

select email_address from user_info where age = 30;

実行結果
Empty set (0.00 sec)

該当するレコードが存在しない。

4. SQL実行途中でエラーが発生

例外処理でcatchする。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?