2

テストケースの1つに対して徹底的なテストを実行したいと思います(たとえば、ドキュメントを作成して、遭遇した奇妙なことをデバッグします)。

私の残忍な力は、またはpython manage.py test myappを使用してループで発砲することでしたが、今は純粋な方法に戻っていますか?.....Popenos.system

def SimpleTest(unittest.TestCase):
   def setUp(self):

   def test_01(self):

   def tearDown(self):

def suite():
   suite = unittest.TestCase()
   suite.add(SimpleTest("setUp"))
   suite.add(SimpleTest("test_01"))
   suite.add(SimpleTest("tearDown"))
   return suite

def main():
   for i in range(n):
     suite().run("runTest")

私は走っpython manage.py test myappて、私は得ました

  File "/var/lib/system-webclient/webclient/apps/myapps/tests.py", line 46, in suite
    suite = unittest.TestCase()
  File "/usr/lib/python2.6/unittest.py", line 216, in __init__
    (self.__class__, methodName)
ValueError: no such test method in <class 'unittest.TestCase'>: runTest

私はエラーをグーグルで検索しましたが、それでもわかりません(空のrunTestメソッドを追加するように言われましたが、それはまったく正しく聞こえません...)

まあ、Pythonによるとunittest.TestCase

最も単純なTestCaseサブクラスは、特定のテストコードを実行するために、runTest()メソッドをオーバーライドするだけです。

ご覧のとおり、私の全体的な目標は、SimpleTestN回実行することです。Nに対するパス、失敗を追跡する必要があります。

どのようなオプションがありますか?

ありがとう。

4

1 に答える 1

0

単体テストを介して競合状態を追跡するのは難しいです。Selenium のような自動テスト ツールを使用してフロントエンドをテストした方がよい場合もあります。単体テストとは異なり、環境は同じであり、並行性を確保するために追加の作業を行う必要はありません。より良いオプションがない場合に、テストで並行コードを実行する 1 つの方法を次に示します

並行テストは、競合状態がないことを明確に証明するものではないことに注意してください。プロセス間の実行順序のすべての可能な組み合わせを再作成するという保証はありません。

于 2012-03-28T23:03:04.530 に答える