¿Cómo forzo efectivamente a Minitest a ejecutar mis pruebas en orden?

Lo sé. Esto es desalentado. Por razones en las que no entraré, necesito ejecutar mis pruebas en el orden en que están escritas. De acuerdo con la documentación, si mi clase de prueba (la llamaremos TestClass) extiende Minitest :: Unit :: TestCase, entonces debería poder llamar al método públicoi_suck_and_my_tests_are_order_dependent! (Gee, ¿crees que el tipo que creó Minitest tenía una opinión sobre eso?). Además, también existe la opción de llamar a un método llamadotest_order y especificando:alpha para anular el comportamiento predeterminado de:random. Ninguno de estos funciona para mí.

Aquí hay un ejemplo:

class TestClass < Minitest::Unit::TestCase

  #override random test run ordering
  i_suck_and_my_tests_are_order_dependent!

  def setup
    ...setup code
  end

  def teardown
    ...teardown code
  end

  def test_1
    test_1 code....
    assert(stuff to assert here, etc...)
    puts 'test_1'
  end

  def test_2
    test_2_code
    assert(stuff to assert here, etc...)
    puts 'test_2'
  end

end

Cuando ejecuto esto, obtengo:

undefined method `i_suck_and_my_tests_are_order_dependent!' for TestClass:Class (NoMethodError)

Si reemplazo eli_suck llamada de método con un método en la parte superior a la:

def test_order
  :alpha
end

Mi prueba se ejecuta, pero puedo decir por elputs para cada método que las cosas todavía se ejecutan en orden aleatorio cada vez que ejecuto las pruebas.

¿Alguien sabe lo que estoy haciendo mal? Gracias

Respuestas a la pregunta(10)

Su respuesta a la pregunta