The RSpec Book spiega questo. Ti consiglio di leggerlo
... as_null oggetto racconta l'oggetto preso in giro ad ascoltare solo per i messaggi che dirgli di aspettarsi, e ignorare eventuali altri messaggi.
Quindi, supponiamo uno dei tuoi esempi ha il seguente codice:
...
my_object = mock("my_object").as_null_object
other_thing = OtherThing.new(my_object)
my_object.should_receive(:some_method).with("string parameter value")
...
Se il codice di inizializzazione per OtherThing invia altri messaggi (esegue altri metodi) a my_object che non sono "some_method", questo esempio non li ascolterà, isolando il test su ciò che in realtà vuoi testare qui.