2

テストの実行に使用django-noseしていますが、ビュー/モデルメソッドなどの内部からテストが実行されているかどうかを知る必要があるため、キャッシュ値の確認やプロジェクト外部リソースの呼び出しなどをスキップできます。たとえば、テストの実行時のみです。

次のようなことができるように、ある種の環境変数または類似のものを用意しておくとよいでしょう。

if os.environ.get('TESTS_ARE_RUNNING'):
    # skip this

また

if not TESTS_ARE_RUNNING:
  # do something

誰かがこれを達成する方法を知っていますか?

助けてくれてありがとう:)

4

1 に答える 1

6

それは可能であり、方法についてはDetect django testing modeを見ることができますが、このユース ケースではこれを行うべきではありません。

...そのため、キャッシュ値の確認やプロジェクト外部リソースの呼び出しなどをスキップできます...

これを行う場合、これらの外部リソースがダウンしているか誤動作しているときにアプリケーションが処理することをどのようにテストするつもりですか? モックライブラリを調べて、これらの外部呼び出しをモックすることをお勧めします。これにより、これらの呼び出しが適切に実行され、期待どおりに返されない場合にアプリケーションが処理できることを主張することもできます。

于 2012-08-03T17:54:53.027 に答える