2012-07-19 38 views
14

Tôi có một chức năng sử dụng các tham số. Làm thế nào tôi có thể thử chức năng này?Nhạo một chức năng sử dụng các tham số

chức năng của tôi là:

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

Trong mã ban đầu của tôi, tôi làm điều này:

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

Bây giờ, làm thế nào tôi có thể thử này?

+1

Câu hỏi tương tự http://stackoverflow.com/questions/1068095/assigning-out-ref-parameters-in-moq – Alex

+0

không nhận được nó, bạn có thể viết cho tôi mã, chế nhạo một hàm trả về một chuỗi rất đơn giản, mockObject.Setup (f => f.SomeMethod()). Trả về ("chuỗi"); nhưng không biết về các tham số, hàm –

Trả lời

20

Bạn nên gán giá trị biến ra trước khi gọi phương thức như thế này:

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

Mặc dù tôi muốn trở về những giá trị trong kiểu trả về của bạn, thay vì sử dụng để ra nhiều thông số.

+0

là đối tượng COM được viết bằng C++, vì vậy đó là lý do tại sao có rất nhiều tham số, tôi nghĩ rằng CallBack có thể được sử dụng trong này, nhưng không biết làm thế nào, –

+0

giả lập chỉ là giá trị trả về của các tham số ra nó sẽ hoạt động tốt, bạn sẽ không cần gọi lại. –

+0

vâng, tôi đang làm như bạn đã nói, nó hoạt động tốt, –

Các vấn đề liên quan