:~/rorails/helloNignx/test/unit$ ruby ./post_test.rb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- test_helper (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from ./post_test.rb:1:in `<main>'
此类问题是说路径不对,无法加载test_helper。 这里关键要了解Ruby&Rails的路径加载问题, 如何specify $LOAD_PATH directory?
解决方法:
1. 使用 -I 指定加载路径。注意路径,此时当前路径是rails app里,不能进入test 或者 test/unit等
helloNignx$ ruby -I test ./test/unit/post_test.rb
Loaded suite ./test/unit/post_test
Started
.
Finished in 0.116664 seconds.
1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
也可以 ruby -I ./test ./test/unit/post_test.rb, 关键是要能够找到test directory。
2. 为每个需要单独运行的文件,添加加载路径:
用这个require File.dirname(__FILE__) + '/../test_helper' 替代原来的require语句;
3. 多个部分统一运行:
rake test
rake test:units
rake test:funtionals
4. 采用指定: rake test:units TEST=test/unit/post_test.rb
此时对路径没有要求的。
单独地跑rails 3 单元测试中的单个case的(LoadError)问题及解决方法
最新推荐文章于 2024-05-11 11:01:26 发布