我正在使用该unittest
框架在 python 2.6 中编写一个测试套件,并且我想在我的代码中使用断言。我知道 asserts 得到了彻底的改革,并且在 2.7+ 中更好,但我现在仅限于使用 2.6。
我在使用断言时遇到问题。我希望能够使用该assertIn(a,b)
功能,但可惜,这仅在 2.7+ 中。所以我意识到我必须使用assertTrue(x)
2.6 中的 which ,但这不起作用。然后,我查看了这个文档,它说在以前的版本中assertTrue(x)
曾经是failUnless(x)
,所以我在我的代码中使用了它,但仍然没有结果。
我收到消息:
NameError:未定义全局名称“failUnless”
这与我为assertIn(a,b)
和得到的东西是一样的assertTrue(x)
。所以我完全不知道我应该做什么。
我的问题的简短版本:
我希望能够assertIn(a,b)
在 python 2.6 中实现。有人对此有任何解决方案吗?
我的代码:
import unittest
class test_base(unittest.TestCase):
# some functions that are used by many tests
class test_01(test_base):
def setUp(self):
#set up code
def tearDown(self):
#tear down code
def test_01001_something(self):
#gets a return value of a function
ret = do_something()
#here i want to check if foo is in ret
failUnless("foo" in ret)
编辑:看来我是个白痴。我需要做的就是添加self.assert....
并且它起作用了。