我正在尝试在我的rails应用程序中运行单个单元测试,我正在使用以下命令来运行测试(假设我的模型是用户)
rake test TEST=test/unit/user_test.rb
它运行没有问题,但由于某种原因,它运行3次,任何人都可以解释我为什么这样,如果我做错了上面的事情?以下是我的宝石环境我正在使用rails 2.3.2。
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/sameera/.rvm/gems/ruby-1.8.7-p357
- RUBY EXECUTABLE: /home/sameera/.rvm/rubies/ruby-1.8.7-p357/bin/ruby
- EXECUTABLE DIRECTORY: /home/sameera/.rvm/gems/ruby-1.8.7-p357/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/sameera/.rvm/gems/ruby-1.8.7-p357
- /home/sameera/.rvm/gems/ruby-1.8.7-p357@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
干杯
答案 0 :(得分:7)
在导轨应用rake test
中运行3个子任务,test:units
,test:functionals
,test:integration
。
这些任务中的每一个都只运行相应文件夹中的所有测试,但您的环境变量会覆盖该搜索过程,因此每次都会找到相同的文件。
你可以做
rake test:units TEST=...
或
ruby -I test test/unit/user_test.rb