Angesichts dieser Klasse:
public class OrderService
{
public OrderService(IOrderLogger log)
{
this.log = log;
}
private readonly IOrderLogger log;
public void PurgeOrder(Order order)
{
...
var action = new LogAction("foo","bar");
log.Action(action);
}
}
Und diesem Test:
[Fact]
public void PurgeOrder_should_log_action()
{
var order = new Order();
var logger = MockRepository.GenerateStub();
var service = new OrderService(logger);
service.PurgeOrder(order);
logger.AssertWasCalled(x => x.Action(????));
}
Offensichtlich ist der Test falsch. Wie kann ich sicherstellen, dass OrderLogger.Action(...) in diesem Szenario tatsächlich aufgerufen wurde? Wenn die LogAction innerhalb der PurgeOrder-Methode instanziiert wird, sehe ich nicht, wie das möglich ist. Irgendwelche Vorschläge?