2010-11-01 31 views
1

Voici mon code de test:Rhino Mock, Mocking un appel statique d'un objet non-Raillé

[Test] 
    public void Test_Delete_ShouldCancelLayoutView() 
    { 
     Expect.Call(TreeMasterService.Delete(1, null)).Return(null).IgnoreArguments(); 
     Mocks.ReplayAll(); 
     TestController.Delete(1); 
    } 

voici le Testée:

public void Delete(int id) 
    { 
     TreeMasterService.Delete(id, CurrentUser); 
     CancelLayout(); 
     CancelView(); 
    } 

Est-il possible de se assurer CancelLayout() et CancelView() est appelé avec Rhino Mocks?

Répondre

2

n °
Des cadres de simulation gratuits comme Rhino créent efficacement un proxy transparent pour votre classe testée. Par conséquent, vous pouvez uniquement utiliser des méthodes d'interface et des méthodes virtuelles. Pour des choses comme ci-dessus, vous avez besoin de l'infrastructure MS Moles ou d'un outil commercial comme Typemock.

HTH
Thomas