我正在尝试在我的 Rails 应用程序中运行单个单元测试,我正在使用以下命令来运行测试(假设我的模型是用户)
rake test TEST=test/unit/user_test.rb
它运行没有问题,但由于某种原因它运行了 3 次;谁能解释我为什么会这样,如果我在上面做错了什么?以下是我的 gem 环境,我使用的是 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/
最佳答案
在 Rails 应用程序中,rake test
运行 3 个子任务,test:units
、test:functionals
、test:integration
.
这些任务中的每一个都只是运行相应文件夹中的所有测试,但是您的环境变量会覆盖该搜索过程,因此每次都会找到相同的文件。
你可以做
rake test:units TEST=...
或
ruby -I test test/unit/user_test.rb
关于ruby-on-rails - 单元测试运行三次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957193/