Please enable JavaScript.
Coggle requires JavaScript to display documents.
テストについて - Coggle Diagram
テストについて
登場人物
バックエンド
Django, Python
API
データベース
データを保存する
新規追加(INSERT)
書き換え(UPDATE)
行検索ができる(SELECT)
具体例
デッキ編成
プレイヤーが持っているカード情報を保存
今デッキに保存されているカード一覧を登録
今デッキに保存されているカード一覧を追加
デッキに保存されているカード一覧から削除
データを削除する(DELETE)
フロントエンド
React, JavaScript, HTML, CSS
バトルに関するテスト
テストケースを考える
テスト対象の全体像を把握
battle/create
正常系
引数
character_id
deck_id
レスポンスが200で必要なプロパティに必要な値が入っている
deck_idに対応するカードが入っている
DBにバトルのレコードが作成されている
異常系
character_idが無い or 不正なら404エラー
deck_idが無い or 不正なら404エラー
デッキが9枚じゃなかったら404エラー
battle/detail
detailが返るか(初期情報なのでHPの検査はいらない)
battle/start
battle/battle
win
報酬の付与がされるか()
lose
continue
draw
バトルIDを生成し、そこにプレイヤーの情報を追加する
何のためにするのか?
書いた通りのコードが
意図
通りに動くか確認するため
渡した値に対して
正しい値
が返ってくるのか
【Web API】
適切なHTTPステータスコードが返ってくる
「404」とかが返ってくるのは間違い
「200」が返ってくるのは正しい
【Web API】
適切なレスポンスボディが返ってくる
ex. 足し算のAPIなら計算結果が正しい
ex. バトルの情報をとるAPIならバトルオブジェクトの内容(プロパティ)が返って来ている
【Python上の関数】
適切な戻り値が返ってくる
【Python上の関数】
エラー処理をしたときの対応が正しい
DBが
意図通り
に動いているか
テーブルの有無
テーブルの列があるか
テーブルの行があるか
テーブルの行に値が存在するか確認できる
ex. デッキにカードが登録されているか
新規追加ができないか
(新規追加されちゃダメ)
ex, 重複レコードが作られるとまずい
テーブルの行が書き換えできるか
ex. プレイヤー名の更新ができるか
テーブルの行が削除できるか
ex. デッキからカードを削除する
新規追加ができるか
ex. レコードがきちんと作られるか
テストの書き方
テストを書くための道具
BaseTestCase
接続系をやってくれそう
get
post
DjangoのTestCase
関数名をtestから始める必要がある
makeコマンドでテスト可能