在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取得任何成功?
答案 0 :(得分:0)
鉴于最后的评论,您可能想要禁用buildin_hooks。您可以通过将以下内容传递给ct:run / 1或ct_run
来完成此操作{enable_builtin_hooks,false}
这应该禁用cth_log_redirect挂钩,并且可能在重载期间解决您的问题。