2011-09-02 61 views
1

我想檢查是否調用LogNotInRange方法,並且我想忽略它被調用的方法參數的測試;我只是有興趣,如果LogNotInRange被調用或不。如何在不測試方法參數的情況下通過AssertWasCalled聲明此方法調用?

它是什麼正確的Rhino Mocks語法(我給了我一直在下面試試:)?

[TestMethod] 
     public void MyTestMethod() 
     { 
      var logger = MockRepository.GenerateMock<ILogManager>(); 
      var teleporter = new Teleporter() {LogEventManager = logger}; 
      var message = new message() {IsDone = false}; 

      teleporter.Teleport(message); 

      // How should I specify parameter1 and parameter2? 
      logger.AssertWasCalled(t => t.LogNotInRange(parameter1, parameter2)); 
     } 



public void LogNotInRange (object parameter1, object parameter2) 
{ 
    // some logging logic 
} 

回答

2

使用Arg<T>.Is.Anything

logger.AssertWasCalled(t => t.LogNotInRange(Arg<object>.Is.Anything, 
              Arg<object>.Is.Anything)); 
+0

太棒了!謝謝!我有一個問題來找出AssertWasCalled的明確解釋。 – pencilCake

1

logger.AssertWasCalled(T => t.LogNotInRange(NULL,NULL),選項=> options.IgnoreArguments);

相關問題