2017-11-29 3 views
0

私はこのようにレイアウトされているpytest統合テストのセットを持っている:遅延が必要な場合の構造pytests?

def 001_setup(): 
    # Set up backend data 

def 002_do_first_thing(): 
    # Use data from 001_set up and modify it 

def 003_do_second_thing(): 
    # Use changed data from 002 

def 999_clean_up(): 
    # Clean up all data from this set of tests 

私はに実行している問題は、長時間実行されるAPIエンドポイントを呼び出す002そのテストです。完了までに20秒以上かかり、成功を報告することができます。テスト003が開始され、まだ完了していません。002が完了しました。

003が初めて起動するのは、002が実際に完了したときに、time.sleep(20)コマンドの束でテストが完了しないように、この一連のテストをよりうまく構成できますか?

+0

あなたのテストは、互いの上や、彼らが実行順序に依存してはならない場合に役立ちますし、参照してください。これは悪い習慣であり、今あなたはなぜそれを見ているのですか? – alfasin

答えて

0

理想的には、テスト関数が外界を知っていることが少ないほど、問題なくテストスイートを実行することができます。これは私が信じるものです。あなたが記述したとおりに実行する必要がある場合は、pytest-orderingそれは

https://pytest-ordering.readthedocs.io/en/develop/

関連する問題