当 ExUnit 测试用例中的字符串相等断言失败时,将提供颜色格式的输出。例如,对于:
test "my test" do
assert "xyz" == "xwz"
end
我们得到
但是当我在 expect/4:
里面做的时候test "my test" do
expect(MyMock, :post, fn data ->
assert "xyz" == "xwz"
end)
end
没有格式化,但是:
知道是否有办法在 expect 内部完成相同的格式化吗?
PS:我真正想要的是一种在比较两个长字符串时获得良好字符串差异的方法。欢迎任何替代方案。
PS2:在 OSX 上使用 mox 1.0.2
如果你正在对错误进行字符串比较,我建议你完全避免使用 ANSI 颜色代码,因为它们会在输出中添加很多“噪音”。 ANSI 颜色代码无论如何都是可选的,因为并非每个系统都支持它们。
在您的
config/text.exs
(或您需要使用的任何环境)中,添加以下内容以禁用 ANSI 格式:
config :elixir, :ansi_enabled, false
的相应文档