Python单元测试:让nose显示失败断言的值
有没有办法显示出失败的断言值?现在它只显示了错误的追踪信息和抛出的异常类型,但如果能知道具体是哪些值失败了,那就更实用了。
举个例子:
assert result.file == file
AssertionError
3 个回答
24
你可以运行命令 nosetests -d,这样可以显示在断言中比较失败的对象的值。
6
这段代码的意思是:检查结果的文件名(result.file)是否和我们期望的文件名(file)相同。如果不相同,就会显示一个错误信息,告诉我们实际的文件名和期望的文件名是什么。
所以,才会有一些看起来不太好看的 self.assert<Foo>
方法被引入到 unittest.TestCase
里,而不是使用简单又短的断言。这些 self.assert<Foo>
方法知道如何显示失败时的错误信息。
顺便说一下,我原以为 nose 这个工具能做一些神奇的事情,所以在简单的情况下,
assert a == b
应该能显示出有意义的错误信息。