Cómo agitar un método que devuelve el vacío con argumentos de referencia con Rhino
-
26-10-2019 - |
Pregunta
No puedo encontrar una forma de eliminar los métodos con argumentos de referencia si devuelven vacío, como en el siguiente ejemplo:
public interface Interface1 {
void Method1(ref int i);
}
public class Class1 {
static public void Main() {
MockRepository mockRepository = new MockRepository();
Interface1 interface1 = mockRepository.Stub<Interface1>();
int i = 1;
//SetupResult.For(interface1.Method1(ref i)).OutRef(1); Can't compile
interface1.Method1(ref i);
LastCall.Repeat.Any();
mockRepository.ReplayAll();
int j = 0;
interface1.Method1(ref j);
if(j == 1) Console.WriteLine("OK");
}
¿Tienes alguna idea?
Gracias Stenio
Solución
Rhino Mocks 3.5 tiene una nueva interfaz para restricciones, reemplazando .oUrTref () y otros. Ver el documentación:
Interface1 interface1 = MockRepository.GenerateStub<Interface1>();
int i = 1;
interface1.Stub(x => x.Method1(ref Arg<int>.Ref(Is.Anything(), i).Dummy);
int j = 0;
interface1.Method1(ref j);
if (j == 1) Console.WriteLine("OK");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow