单元测试运行3次

sam*_*207 3 ruby unit-testing rubygems ruby-on-rails

我正在尝试在我的rails应用程序中运行单个单元测试,我正在使用以下命令来运行测试(假设我的模型是用户)

rake test TEST=test/unit/user_test.rb
Run Code Online (Sandbox Code Playgroud)

它运行没有问题,但由于某种原因,它运行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/
Run Code Online (Sandbox Code Playgroud)

干杯

Fre*_*ung 7

在Rails应用程序rake test运行3子任务test:units,test:functionals,test:integration.

这些任务中的每一个都只运行相应文件夹中的所有测试,但您的环境变量会覆盖该搜索过程,因此每次都会找到相同的文件.

你可以做到

rake test:units TEST=...
Run Code Online (Sandbox Code Playgroud)

要么

ruby -I test test/unit/user_test.rb
Run Code Online (Sandbox Code Playgroud)