ruby-on-rails ruby ruby-1.9.2 minitest

ruby on rails - Primeros pasos con MiniTest y Rails



ruby-on-rails ruby-1.9.2 (1)

Dado que está cambiando la aplicación de rspec, lo más probable es que tenga gema de rspec en el entorno de prueba especificado en Gemfile, algo como:

group :test do gem ''rspec'' end

Cuando carga el entorno de ''prueba'' con ENV["RAILS_ENV"] = "test" , está cargando el rspec, que define su propio método de describe y anula el definido por minitest.

Entonces hay 2 soluciones aquí: 1. Elimine rspec gema del entorno de prueba 2. Si aún desea ejecutar rspecs mientras cambia a minitest, puede dejar el entorno de "prueba" solo y definir otro entorno de prueba específicamente para minitest. Llamémoslo minitest: copie config / environment / test.rb a config / enviroment / minitest.rb, defina la base de datos para el entorno minitest y actualice minitest_helper para configurar RAILS_ENV en ''minitest'':

$ cp config/environments/test.rb config/environments/minitest.rb

(una parte de) config/database.yml :

minitest: adapter: sqlite3 database: db/test.sqlite3 pool: 5 timeout: 5000 test/minitest_helper.rb: ENV["RAILS_ENV"] = "minitest" require File.expand_path("../../config/environment", __FILE__) require "minitest/autorun"

Quiero cambiar una aplicación de rieles existente de rspec a minitest comenzando con los modelos. Por lo tanto he creado una test carpeta. Allí, creé un archivo llamado minitest_helper.rb con el siguiente contenido:

require "minitest/autorun" ENV["RAILS_ENV"] = "test"

y los models carpeta models contienen forum_spec.rb :

require "minitest_helper" describe "one is really one" do before do @one = 1 end it "must be one" do @one.must_equal 1 end end

Ahora puedo ejecutar ruby -Itest test/models/forum_spec.rb con el siguiente resultado:

Loaded suite test/models/forum_spec Started . Finished in 0.000553 seconds. 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips Test run options: --seed 12523

Eso es bueno. Pero ahora quiero que el entorno se cargue y agrego la siguiente línea a minitest_helper.rb (copiado del archivo equivalente de rspec):

require File.expand_path("../../config/environment", __FILE__)

Ahora lo vuelvo a ejecutar con el siguiente resultado:

Loaded suite test/models/forum_spec Started Finished in 0.001257 seconds. 0 tests, 0 assertions, 0 failures, 0 errors, 0 skips Test run options: --seed 57545

Las pruebas y las afirmaciones se han ido. Cuál podría ser la razón para eso?

Información del sistema:

  • ruby 1.9.2p180 (2011-02-18 revisión 30909) [x86_64-darwin10.8.0]
  • Rieles 3.1.0.rc4