2

当我使用 io:format/2 打印一些信息时,我发现尖括号之间的内容被无声地扔掉了。

请看下面的例子: 1) 测试套件

-module(ioformat_SUITE).
-compile(export_all).
all() ->
    [test_ioformat].

test_ioformat(_) ->
    Expected = 
        [
         <<"NoMethod <ATestMessage>\r\n">>
        ],
    io:format("ExpectedASCII:~n~p~n",[Expected]),
    io:format("ExpectedBINARY:~n~w~n",[Expected]).

2) 运行测试套件
ct_run -suite ioformat_SUITE

3)检查测试用例的日志

预期ASCII:

[<<"NoMethod \r\n">>]

预期二进制:[<<78,111,77,101,116,104,111,100,32,60,65,84,101,115,116,77,101,115,115,97,103,101,62,13,10>>]

=== 结束于 2012-09-03 08:48:04

4)我们可以看到日志中不存在“ATestMessage”。此内容被 common_test 默默丢弃。

这是 common_test 中的错误吗?有什么解决方法吗?

谢谢!

4

1 回答 1

3

我很确定 Common Test 没有吃掉你的信息。如果您在浏览器中打开日志,请查看页面源代码。我敢打赌你的 HTML 标签就在那里,只是浏览器没有呈现。关于什么:

Expected = 
    [
     <<"NoMethod &lt;ATestMessage&gt;\r\n">>
    ],
于 2012-09-03T07:27:23.130 回答