Saya punya metode pada antarmuka:
string DoSomething(string whatever);
Saya ingin mengejek ini dengan MOQ, sehingga mengembalikan apa pun yang disahkan - sesuatu seperti:
_mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) )
.Returns( [the parameter that was passed] ) ;
Ada ide?
IReturns
dalam Moq, itu mendefinisikanReturns
untuk 4 argumen paling banyak . Adakah cara mudah untuk menyiasatinya? / Maksudku kecuali memodifikasi sumber Moq /Moq
v4.0.0.0
. dipecahkan :).Returns<string>
merujuk pada parameter input dan bukan nilai yang Anda kembalikan.Lebih berguna, jika Anda memiliki beberapa parameter, Anda dapat mengakses salah satu / semuanya dengan:
Anda selalu perlu merujuk semua argumen, untuk mencocokkan tanda tangan metode, bahkan jika Anda hanya akan menggunakan salah satunya.
sumber
ReturnsAsync
juga!Returns<T>
Metode generik dapat menangani situasi ini dengan baik.Atau jika metode ini membutuhkan banyak input, tentukan seperti:
sumber