-
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
目前的nonebug在测试时遇到和期望不相符的文本时,只会显示这样的格式:
f"Application got api call {api} with data {data} but expected {model.data}"这经常会造成如下对人眼检查不友好的输出:
Application got api call ... with data {'foo': 1, 'bar': {'hello': 'world'}} but expected {'foo': 1, 'bar': {'hello': 'nonebug'}}希望可以加入对 期望输出 和 实际输出 的比较,类似这样的格式:
{
"foo": 1,
"bar": {
- "hello": "world"
? ^ ^^^
+ "hello": "nonebot"
? ^ ^^^^^
}
}
这样的输出可以通过标准库difflib实现,大体类似于:
from difflib import ndiff
from json import dumps
print(
"\n".join(
ndiff(
dumps(data, indent=4).splitlines(),
dumps(model.data, indent=4).splitlines()
)
)
)Metadata
Metadata
Assignees
Labels
No labels