ich RhinoMocks verwende, brauche ich eine Methode, um Stummel, und haben sie immer den dritten Parameter zurückgeben, unabhängig davon, was in übergeben wird:RhinoMocks - Stub eine Methode, die einen Parameter Gibt
_service.Stub(x => x.Method(parm1, parm2, parm3)).Return(parm3);
es ist offensichtlich, ist nicht so einfach. Ich weiß nicht immer, was die Parms sein werden, aber ich weiß, dass ich immer den 3. zurückgeben will.
Func<TypeX,TypeY,TypeZ,TypeZ> returnThird = (x,y,z) => z;
mock.Expect(x => x.Method(null, null, null)).IgnoreArguments().Do(returnThird);
Beachten Sie, dass TypeZ
erscheint zweimal, weil es sowohl ein Eingabeargument Typ und der Rückgabetyp ist:
Ich bin nicht sicher, ob dies möglich ist. Können Sie die Methode posten, die Sie testen möchten? –
Die Methode gibt einen Aufruf einer anderen Methode aus einer statischen Klasse zurück. Im Prinzip sucht der Aufruf in der Datenbank, ob der erste Parameter vorhanden ist. Ist dies nicht der Fall, wird der dritte Parameter zurückgegeben. – Martin
Dies ist ein Stück Kuchen mit Moq –