Mocha Mock lleva a otra prueba

He estado siguiendo el15 pasos TDD para crear una aplicación Rails guía, pero me he encontrado con un problema que parece que no puedo resolver. Para la prueba funcional de WordsController, tengo el siguiente código:

class WordsControllerTest < ActionController::TestCase

  test "should get learn" do
    get 'learn'
    assert_response :success
  end

  test "learn passes a random word" do    
    some_word = Word.new
    Word.expects(:random).returns(some_word)
    get 'learn'
    assert_equal some_word, assigns('word')
  end
end

En la clase de Word tengo el siguiente código:

class Word < ActiveRecord::Base
  def self.random
    all = Word.find :all
    all[rand(all.size)]
  end
end

Cuando ejecuto las pruebas, experimento el siguiente error (acortado por brevedad):

1) Failure: unexpected invocation: Word(...).random() satisfied expectations:
- expected exactly once, already invoked once: Word(...).random()

He intentado cambiar cambiando el orden de las pruebas junto con una multitud de otras cosas, pero una y otra vez sigo recibiendo el mismo error de prueba: que Word.random () ya ha sido invocado.

Estoy ejecutando Rails 3.0 beta 4 y Mocha 0.9.8. He buscado mucho para encontrar una solución a mi problema, pero parece que no puedo encontrarlo. Soy nuevo en Ruby / Rails, así que no estoy familiarizado con el lenguaje y los marcos.

¡Gracias por adelantado!

Respuestas a la pregunta(5)

Su respuesta a la pregunta