所以我在cron作业中设置了一些脚本/运行器,但根据日志,我在下面收到此错误。首先,我不确定为什么Test :: Unit自动转轮正在生产中开始。我没有自动测试或自动测试。其次,我不知道如何解决这个讨厌的无效选项错误。我正在使用javan -never gem来处理cron计划。有任何帮助吗?
0 tests, 0 assertions, 0 failures, 0 errors
invalid option: -e
Test::Unit automatic runner.
Usage: /apps/ion/releases/20091210210633/script/runner [options] [-- untouched arguments]
-r, --runner=RUNNER Use the given RUNNER.
(c[onsole], f[ox], g[tk], g[tk]2, t[k])
-n, --name=NAME Runs tests matching NAME.
(patterns may be used).
-t, --testcase=TESTCASE Runs tests in TestCases matching TESTCASE.
(patterns may be used).
-I, --load-path=DIR[:DIR...] Appends directory list to $LOAD_PATH.
-v, --verbose=[LEVEL] Set the output level (default is verbose).
(s[ilent], p[rogress], n[ormal], v[erbose])
-- Stop processing options so that the
remaining options will be passed to the
test.
-h, --help Display this help.
Deprecated options:
--console Console runner (use --runner).
--gtk GTK runner (use --runner).
--fox Fox runner (use --runner).
答案 0 :(得分:5)
这是因为您环境中的某些内容需要Test::Unit
。我在Rails 3.1.0应用程序中运行rails runner
时遇到了同样的问题,这是因为我们的Gemfile中所有组都有gem test-unit
,而不仅仅是实际需要它的测试组。一旦我将其移入测试组,我的跑步者就按预期跑了。
这段代码似乎是罪魁祸首:
# test_unit/lib/test/unit.rb
at_exit do
unless $! || Test::Unit.run?
exit Test::Unit::AutoRunner.run
end
end
如果您无法删除Test::Unit
上的要求,则可以在您的环境中的某处添加此黑客,以防止AutoRunner
自动运行:
Test::Unit.run = true