0

在 Windows 上使用带有 Erlang 的 Common Test 时,我遇到了很多 Common Test 和 Erlang 的错误。一方面,如果项目路径中有任何空格,Common Test 通常会彻底失败。为了解决这个问题,我将项目移动到没有空格的路径(但我真的希望开发人员能够修复这些库,以便它们在 Windows 上更好地工作)。现在,我让 Common Test 大部分时间都在运行,只是它最后不会打印出 HTML 报告。这是我在测试运行后得到的错误:

Testing myapp.ebin: EXIT, reason {
{badmatch,{error,enoent}},
              [{test_server_ctrl,start_minor_log_file1,4,
                                 [{file,"test_server_ctrl.erl"},{line,1959}]},
               {test_server_ctrl,run_test_case1,11,
                                 [{file,"test_server_ctrl.erl"},{line,3761}]},
               {test_server_ctrl,run_test_cases_loop,5,
                                 [{file,"test_server_ctrl.erl"},{line,3032}]},
               {test_server_ctrl,run_test_cases,3,
                                 [{file,"test_server_ctrl.erl"},{line,2294}]},
               {test_server_ctrl,ts_tc,3,
                                 [{file,"test_server_ctrl.erl"},{line,1434}]},
               {test_server_ctrl,init_tester,9,
                                 [{file,"test_server_ctrl.erl"},
                                  {line,1401}]}]}

如果测试函数名称太长或名称中有太多下划线(我怀疑这也是一个错误)或太多测试失败(这意味着 Common Test 对我来说毫无用处),有时会在 Erlang R15 和更早版本中发生这种情况对于 TDD)。但现在它发生在 R15B01 中的 Common Test 的每个 ct:run 上。有谁知道我该如何解决这个问题?有没有人在 Windows 上使用 TDD 和 Common Test 取得任何成功?

4

1 回答 1

0

鉴于最后一条评论,您可能想要禁用 buildin_hooks。您可以通过将以下内容传递给 ct:run/1 或 ct_run

{enable_builtin_hooks,false}

那应该禁用 cth_log_redirect 钩子,并可能在过载期间解决您的问题。

于 2012-04-27T21:16:29.607 回答