j'ai une classe que je teste, disons:Rhino Mocks, essai que la méthode testée ne remet pas une méthode donnée
class Service{
public virtual DALClass DALAccess{get;set;}
public virtual void Save(TEntity t){}
public virtual bool Validate(TEntity t)
}
Je veux tester la méthode Enregistrer et dans le cadre de mon test Je veux que basé sur une propriété dans TEntity affirmer que la méthode Validate n'est pas appelée et qu'une méthode dans la DALClass le fait.
C'est ce que j'ai:
[TestMethod]
void TestSave(){
//arrange
TEntity entity = new TEntity();
Service service = new Service();
DALClass dal = MockRepository.GenerateMock<DALClass >();
dal.Expect(t => t.MustSaveInstance(Arg.Is(entity))).Return(false);
service.DALAccess = dal;
//act
service.Save(entity);
dal.VerifyAllExpectations();
//Question, how can I verify that service.Validate is not called
Merci, Ignacio
Que faire si Valider n'est pas virtuel? – ignacio
Alors vous êtes SOL. Cela fait partie de la compilation que j'ai dû faire à certains moments - faites des méthodes virtuelles juste pour TDD. Pas ravi à ce sujet, mais si je ne peux pas refactoriser logiquement c'est un compromis raisonnable à mon humble avis. – n8wrl