2

我想对我的一个测试用例执行一些详尽的测试(例如,创建一个文档,以调试我遇到的一些奇怪的事情......)

我的残酷力量是python manage.py test myapp使用Popenor循环射击os.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 这样的自动化测试工具来打你的前端——与单元测试不同,环境是相同的,不需要额外的工作来确保并发性。当没有更好的选择时,这是在测试中运行并发代码的一种方法:http: //www.caktusgroup.com/blog/2009/05/26/testing-django-views-for-concurrency-issues/

请记住,并发测试并不能明确证明您没有竞争条件——不能保证它会重新创建进程之间所有可能的执行顺序组合。

于 2012-03-28T23:03:04.530 回答