2012-07-19 9 views
14

Tengo una función que utiliza los parámetros. ¿Cómo puedo simular esta función?Burlando de una función que utiliza los parámetros

Mi función es:

GetProperties(out string name, out string path, out string extension); 

En mi código original, estoy haciendo esto:

string Name; 
string Path; 
string Extension; 
MyObject.GetProperties(out Name, out Path, out Extension); 

Ahora, cómo puedo burlarse de esto?

+1

Pregunta similar http://stackoverflow.com/questions/1068095/assigning-out-ref-parameters-in-moq – Alex

+0

didnt get it, me puede escribir el código, burlarse de una función que devuelve una cadena es simple, mockObject.Setup (f => f.SomeMethod()). Devuelve ("cadena"); pero no sé acerca de los parámetros, la función –

Respuesta

20

Debe asignar el valor de la variable a cabo antes de llamar al método como este:

string Name = "name"; 
string Path = "path"; 
string Extension = "extension"; 
mock.Setup(item => item.GetProperties(out Name, out Path, out Extension)) 
    .Returns(someReturnValue); 

Aunque yo preferiría volver estos valores en su tipo de retorno, en vez de usar tantos parámetros out.

+0

es de un objeto COM escrito en C++, por lo que hay tantos parámetros de salida, pensé que CallBack se puede utilizar en esto, pero no sé cómo, –

+0

Si tiene que simular solo los valores de devolución de los parámetros de salida, debería funcionar bien, no necesitaría la Devolución de llamada. –

+0

Sí, estoy haciendo lo que dijo, funciona bien, –

Cuestiones relacionadas