2011-07-13 7 views
3

私は2つのPythonパッケージで構成されたプロジェクトに取り組んでいます。 fooには一般的なビジネスロジックが含まれており、foo.webappにはAPIを提供するDjangoアプリが含まれています。モジュールfoo.testsには、共通ロジックの場合はunittest、APIの場合はfoo.webapp.testsが含まれています。さらに、APIを実行するためのDjangoプロジェクトもあります。だから、次のようになります。他のテストと一緒にDjangoアプリケーションテストを実行するにはどうしたらいいですか?

foo-root/ 
    foo/ 
     __init__.py 
     some_logic.py 
     other_logic.py 
     tests.py 
     webapp/ 
      __init__.py 
      urls.py 
      views.py 
      tests.py 

    django_project/ 
     manage.py 
     settings.py 
     urls.py 

は私がfoo.webapp.tests別にfoo.testsを維持したいので、私はdjango_project/manage.py testを行うとき、それは後者のみを実行する必要があります。しかし、私はまた、両方のテストスイートを1つのプログレスバー、1つの失敗カウントなどで実行する方法が必要です。これを達成できますか?

答えて

1

私はdjango-alltestsrunnerの行に沿ってカスタムDjangoテストランナーを書きました(しかし、テストを自動的に発見するのではなく、settingsにモジュールのリストを指定します)。

今、django_project/manage.py testを実行すると、すべてのテストが実行されます。 django_project/manage.py test foo.webapp.testsを実行すると、APIテストのみが実行されます。

+2

githubへのリンクが無効です。 –