在macosx的终端上
assertEqual的输出是
File "tests/test_conditions.py", line 27, in test_if_condition
self.assertEqual(result, expected)
AssertionError: ' if (self) {\n self.addMainLabel\n self.addSubLabel\n self.setupBackground\n }\n' != ' if self\n self.addMainLabel\n self.addSubLabel\n self.setupBackground\n end\n'
但我希望得到以下输出,计算换行符“\n”,并在“AssertionError:”之后添加换行符。在
^{pr2}$
使用换行符获得类似的输出的最简单方法是为每个
str
直接调用assertMultiLineEqual
,或者将其注册为assertEqual
的类型特定方法。你可以通过在你的设置中使用这个来实现后者然后,当您在两个字符串上调用
^{pr2}$assertEqual
时,您将得到如下结果:unittest
使用^{我不认为你能,至少,不容易。在
转义的新行来自两个字符串中每一个的
assertEqual
调用repr
。没有它,你也不会得到引文标记。如果您的字符串中有一个包含!=
,那么它将变得非常混乱。在如果你真的想篡改断言的文本,你可以捕捉它,操作它的属性,然后重新读取它。我不建议这样做,但有可能:
这并不能精确地给出您想要的输出(在字符串的开头没有添加额外的新行),但是它非常接近。在
相关问题 更多 >
编程相关推荐