少し不自然な例を挙げるために、関数が2つの数値を返し、最初の数値が2番目の数値よりも小さいことをテストしたいとします。
def test_length():
result = my_function()
assert len(result) == 2
def test_order()
a, b = my_function()
assert a < b
ここで、test_length
失敗したtest_order
場合も失敗します。を書くのはベストプラクティスtest_length
ですか?それともスキップするのですか?
編集:この状況では、両方のテストは互いにほとんど独立しており、それぞれを単独で実行することも、逆の順序で実行することもできますが、これは問題ではありません。これらの以前の質問はありません
- 他の関数を使用する関数の機能をどのようにテストする必要がありますか?
- 統合テストが既にある場合、ユニットテストが必要ですか?
- あるテストが別のテストのセットアップであるテストをどのように構成するのですか?
- 単体テスト間の成功の依存関係を管理する方法
上記の複製です。
A
のコールB
とリターン同じ結果が、あなたは両方をテストする必要がありをA
してB
」。これは、テスト中の関数ではなく、テストが重複していることに関するものです。(現在は名前が付けられているため、混乱を招きます)。
lambda: type('', (), {'__len__': lambda self: 2})()
は最初のものを渡しますが、2番目のものは渡しません。