RSpec stub apenas para determinados argumentos

Acabei de encontrar um teste de controlador RSpec que começou File.statassim:

File.stub(:stat).with('some/shizzle.txt').and_return(mock_file)

Isso foi um problema, porque em outro lugar na mesma ação do controlador, eu precisava usar o unstubbed File.statcom outros arquivos. A solução é muito simples:

File.stub(:stat).and_call_original
File.stub(:stat).with('some/shizzle.txt').and_return(mock_file)

Agora, todas as chamadas para File.statse comportarão normalmente, a menos que o nome do arquivo seja some/file.txt; nesse caso, você obterá a simulação!