0

Django 1.3 でテスト スイートを作成できません。

というディレクトリにアプリがインストールされているとしapp_nameます。そのディレクトリ内のファイルの 1 つは、foo.pyという名前のクラスを定義するものFooです。それをテストしたいので、foo_test.pyという名前のクラスを定義するディレクトリが呼び出すファイルもありますFooTest。そのファイルは次のようになります。

import unittest
import foo

class FooTest(unittest.TestCase):
  def setUp(self):
    self.foo_instance = foo.Foo()

  ... etc

ここで、別のファイルに別のテスト ケースを作成し、それらすべてをテスト スイートの一部として実行したいと考えています。同じディレクトリに、スイートを定義するapp_nameファイルを作成しました。tests.py最初は次のように定義しました。

import foo_test

from django.test.simple import DjangoTestSuiteRunner

def suite():
  runner = DjangoTestSuiteRunner()
  return runner.build_suite(['app_name'])

残念ながら、呼び出しはファイルをrunner.build_suite(['app_name'])検索app_nameし、 を実行するため、これは失敗します。Python インタープリターが最大再帰深度を超えてすべてを停止するまで、これが再帰的に続行されます。tests.pysuite()

runner.build_suite(['app_name'])に変更

runner.build_suite(['app_name.foo_test'])

また

runner.build_suite(['app_name.foo_test.FooTest'])

のようなエラーにつながりValueError: Test label 'app_name.foo_test' does not refer to a testます。

そしてそれを次のように変更します:

runner.build_suite(['foo_test'])

また

runner.build_suite(['foo_test.FooTest'])

のようなエラーにつながりApp with label foo_test could not be foundます。

この時点で、私はちょっとアイデアがありません。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

テストの整理についてはPythonのドキュメントを参照し、そこで代替方法の1つを使用してテストスイートを構築してください。ちなみに、推奨される方法はどれもを採用していませんbuild_suite

于 2012-04-11T18:44:07.273 に答える