单独地跑rails 3 单元测试中的单个case的(LoadError)问题及解决方法


:~/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
此时对路径没有要求的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值