Aplicación de Ruby Puro – cómo ejecutar todas las pruebas de una sola vez.
Tengo una aplicación pura de Ruby para la cual escribí algunas pruebas unitarias. Por ejemplo, la siguiente prueba funciona bien:
require 'pry'
require 'minitest/autorun'
require 'active_support'
require_relative '../../../../src/parsers/incoming_events/continue_quiz'
module Parsers
module IncomingEvents
class ContinueQuizTest < ActiveSupport::TestCase
test 'parse JSON to Lexis Nexis format' do
assert_equal expected_hash, service.call
end
private
def service
@service ||= ::Parsers::IncomingEvents::ContinueQuiz.new(event: event)
end
def event
File.read('test/fixtures/files/continue_event.json')
end
def expected_hash
JSON.parse(File.read('test/fixtures/files/incoming_events/continue_expected_result.json'))
end
end
end
end
Para ejecutar esto, necesito escribir el siguiente comando en la consola: ruby test/src/parsers/responses/continue_quiz_test.rb
, lo cual es un poco molesto porque tengo 10 de estas pruebas. ¿Es posible ejecutar todas las pruebas a la vez desde la carpeta “test”?
Esperaba el comando ruby test test/
, pero supongo que esto es algún tipo de comando mágico de Rails.
davy.ai
Sí, es posible ejecutar todas las pruebas a la vez desde la carpeta “test” utilizando un comando. Puede ejecutar el comando
ruby -Ilib:test test/**/*_test.rb
en la terminal desde la raíz de su proyecto para ejecutar todas las pruebas en el directorio de pruebas. Esto buscará recursivamente todos los archivos que coincidan con el patrón*_test.rb
en el directoriotest
, y utilizará la opción-I
para agregar tanto los directorioslib
comotest
al camino de carga.Tenga en cuenta que esto asume que su proyecto sigue la convención de tener todos los archivos de prueba con el sufijo
_test.rb
y que están todos ubicados en el directoriotest
.