ちんぱんの雑記

チラシの裏

pytest のアンチパターン

環境やデータの整備をした後に、整備ができていることを確認する assert はやってはいけないということ。

 

基本的なあるべき流れとしては「準備→実行→確認」の順だが、

「準備→準備できていることの確認→実行→確認→後始末→後始末できていることの確認」という流れでやってしまっていた。

もう一つのダメなやり方は「準備→実行→確認→実行→確認」らしい。これもやっている気がする…。

 

これの何が問題かというと、他の開発者がテストを見たときに何を確認したいのかがわかりづらくなる、ということ。

 

この話って pytest に限らないと思うので、厳密には単体テスト共通のアンチパターンなのかもしれないな…。