Я хочу сказать, что метод вызывается ровно один раз. Я использую RhinoMocks 3.5.
Здесь то, что я думал, будет работать:
[Test]
public void just_once()
{
var key = "id_of_something";
var source = MockRepository.GenerateStub<ISomeDataSource>();
source.Expect(x => x.GetSomethingThatTakesALotOfResources(key))
.Return(new Something())
.Repeat.Once();
var client = new Client(soure);
// the first call I expect the client to use the source
client.GetMeMyThing(key);
// the second call the result should be cached
// and source is not used
client.GetMeMyThing(key);
}
Я хочу, чтобы этот тест завершился неудачей, если второй вызов GetMeMyThing()
вызывает source.GetSomethingThatTakesALotOfResources()
.