gpt4 book ai didi

erlang - 当 ?_assertEqual 失败时显示完整的预期和值(value)信息

转载 作者:行者123 更新时间:2023-12-04 17:02:40 25 4
gpt4 key购买 nike

我正在编写一个单元测试,其中生成了一个(相当长的)二进制文件,我想断言生成的二进制文件等于我期望生成的二进制文件。我正在通过“ rebar eunit ”运行eunit。

事实是,当此断言失败时,输出将缩写为“ ... ”,我想查看完整的输出,以便找出不同之处。

我现在使用“ ?debugFmt() ”作为临时解决方案,但我想知道是否有替代方案(某个配置选项或参数可以应用于“ ?_assertEqual() () ) "所以输出仅在断言失败时显示)。

提前致谢!

编辑:由于 legoscia 的 答案,我包含一个使用测试生成器的测试样本,并带有多个断言:

can_do_something(SetupData) ->
% ... some code ...
[?_assertEqual(Expected1, Actual1), ?_assertEqual(Expected2, Actual2)].

最佳答案

我能想到的在控制台中实际显示值的最佳方法是这样的:

Actual =:= Expected orelse ?assert(?debugFmt("~p is not ~p", [Actual, Expected]))
?debugFmt返回 ok ,这不是真的,所以断言总是会失败。

或者,要将其用作测试生成器,可以将整个内容放入 ?_assert :
?_assert(Actual =:= Expected orelse ?debugFmt("~p is not ~p", [Actual, Expected]))

关于erlang - 当 ?_assertEqual 失败时显示完整的预期和值(value)信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10952767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com