【发布时间】:2014-04-11 22:41:46
【问题描述】:
在严格的测试驱动开发方法中,每个步骤都需要事先进行测试。甚至一个类或其方法的存在 - 严格来说 - 在它们实际创建之前都需要进行测试。
我在编写测试以查看方法是否存在时遇到问题。
class BasicTests(unittest.TestCase):
def setUp(self):
self.test = RandomGenClass()
def testRandomGenClassExists(self):
""" Does the class exist? """
self.assert_(self.test is not None)
def testMyMethodExists(self):
""" Does MyMethod() exist?"""
result = self.test.myMethod()
self.assert_(result is not None)
在这两种情况下,如果类不存在,Python 就已经失败了。测试永远不会断言。有没有更好的方法来实现这一点?
【问题讨论】:
-
你要在哪里测试类的存在?在一个模块中?
-
你不知道它们是否存在的类型名称来自哪里?
-
Robert Martin 等一些 TDD 人员认为“编译错误”(或本例中的运行时错误)与失败的测试相同。您是否可以真正将其变为断言并不重要。只需将错误视为测试失败的同义词。
标签: python unit-testing python-2.7