c2a-core
c2a-core copied to clipboard
pytest のポリシーを考える
概要
pytest のポリシーを考える
詳細
どういう思想,仮定で書くかをかんがえる
close条件
考えて,ドキュメントにしたら
Draft
仮定
テスト全体スタート時
- 起動直後の状態からスタートする
1 pytest スタート時
- テスト全体は,起動直後の状態を仮定するが,その状態であることのアサーションは,冒頭で行う
- 例:
- 電源がOFFであること
- 機能AがStop状態であること
- など
- 例:
- これをいれないと,そもそもテストをすべき状態であることの保証や,前段の pytest が現在の pytest に悪影響を与えていないかのチェックができない
1 pytest 終了時
- できるだけ pytest 開始時の状態を復元する(がmustでなはい)
- 後続の pytest に悪影響のある状態は困るので,それは必ず復元する
FYI @sksat @chutaro pytestのポリシー考えてます.
一連の pytest が一つの C2A のインスタンスを使い回していること自体をどうにかしたくはありつつ,一旦現状はそうなのでよいと思う
それはそれとして,依存関係を持ったテストを書きたくなることもあったりはしないんだろうか,というのは気になる.あっても良いとは思っていて,その上である場合は命名などでのなんらかの明示をしたい,みたいな気持ち
依存関係を持ったテストを書きたくなることもあったりはしないんだろうか
それって 1 pytest にまとめるべき?(多分今そうなってる)
まあそうか.少なくとも登場人物が1つの SILS な C2A だけならあくまで unit test に徹するべきだな.たぶんあるとうれしいかもしれないのは共通化した処理を切った上で「途中のここで落ちました~」みたいなやつで,別にそれはこまめに assert 書けばいいだけか.