解决Erlang在Windows上的Common Test中出现的enoent错误?

时间:2012-04-25 13:13:06

标签: testing erlang tdd

在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是TDD无用于我。但现在它发生在每一个ct上:从R15B01的Common Test运行。有谁知道我怎么解决这个问题?有没有人在Windows上使用TDD和Common Test取得任何成功?

1 个答案:

答案 0 :(得分:0)

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

来完成此操作
{enable_builtin_hooks,false}

这应该禁用cth_log_redirect挂钩,并且可能在重载期间解决您的问题。