hhb*_*lly 4 python unit-testing
我正在尝试测试返回类型__repr__.它不是一个字符串,它是什么?这里发生了什么事?
import unittest
class MyClass(unittest.TestCase):
class Dog(object):
def __init__(self, initial_name):
self._name = initial_name
def get_self(self):
return self
def __repr__(self):
return "Dog named '" + self._name + "'"
def runTest(self):
fido = self.Dog("Fido")
self.assertEqual("Dog named 'Fido'", fido.get_self()) #Fails!
test=MyClass("runTest")
runner=unittest.TextTestRunner()
runner.run(test)
Run Code Online (Sandbox Code Playgroud)
运行这个给出:
FAIL: runTest (__main__.MyClass)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/xxxxx/fido.py", line 15, in runTest
self.assertEqual("Dog named 'Fido'", fido.get_self())
AssertionError: "Dog named 'Fido'" != Dog named 'Fido'
----------------------------------------------------------------------
Ran 1 test in 0.006s
FAILED (failures=1)
Run Code Online (Sandbox Code Playgroud)
我怎样才能通过这项测试?
self.assertEqual("Dog named 'Fido'", repr(fido.get_self()))
Run Code Online (Sandbox Code Playgroud)
要不就
self.assertEqual("Dog named 'Fido'", repr(fido))
Run Code Online (Sandbox Code Playgroud)
否则assertEqual正确告诉您该字符串不等于该对象.当它呈现它repr在对象上使用的错误消息时,错误看起来有点令人困惑
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |