当字符串相等断言在ExUnit测试用例中失败时,将提供一个彩色格式的输出。例如,用于:
test "my test" do
assert "xyz" == "xwz"
end我们会得到

但是当我在预期/4里面做的时候
test "my test" do
expect(MyMock, :post, fn data ->
assert "xyz" == "xwz"
end)
end但是,不执行格式设置:

如果有办法在expect内部完成相同的格式化,你知道吗?
PS:当我比较两个长字符串时,我真正想要的是获得一个很好的字符串差异。任何选择都是受欢迎的。
发布于 2022-09-12 20:27:24
如果您正在对错误进行字符串比较,我建议您完全避免ANSI颜色代码,因为它们会给输出增加许多“噪声”。ANSI颜色代码无论如何都是可选的,因为它们并不是每个系统都支持的。
在您的config/text.exs (或您需要使用的环境中)中,添加以下内容以禁用ANSI格式:
config :elixir, :ansi_enabled, false请参阅IO.ANSI已启用?/0的相应文档
https://stackoverflow.com/questions/73693955
复制相似问题