6

そのため、私が取り組んでいるいくつかのプロジェクトでselenium単体テストの導入を実験しています。django 1.4

単体テストを実行する標準的な方法は単純で、テストしたくない特定の django アプリを (必要に応じて) 除外するため./manage.py testに使用します。django-ignoretests

ただし、必要なときにセレンテストのみ./manage.py testを実行し、標準の単体テストのみを実行するようにプロジェクトを構成する方法はありますか。

セレン テストと標準単体テストを分離して整理するためのベスト プラクティスは何ですか?

4

2 に答える 2

5

すべてのセレン テストを常に 1 つのパッケージにグループ化しmyapp/selenium_tests/(たとえば、ここで説明されているようにhttps://stackoverflow.com/a/5160779/1138710manage.py test myapp.selenium_tests ) 、残りのテストを実行してグループ化することができますmyapp/other_tests

それ以外の場合は、各テスト クラスが派生元かどうかをチェックするテスト ランナーを作成できると思いますLiveServerTestCase(ドキュメントを参照してください: https://docs.djangoproject.com/en/dev/topics/testing/#defining-a-test-ランナー

于 2012-05-22T08:31:04.033 に答える
5

問題のテスト クラスには、次のデコレータを追加しました。

from django.conf import settings
@unittest.skipIf(getattr(settings,'SKIP_SELENIUM_TESTS', False), "Skipping Selenium tests")  

次に、これらのテストをスキップするには、設定ファイルに次を追加します。SKIP_SELENIUM_TESTS = True

これは、LiveServerTestCase のサブクラスまたは単純なデコレーターに簡単にラップできます。もし私がそれを複数の場所に持っていたら、それはすでにあるでしょう.

于 2012-05-24T18:44:33.913 に答える