В простом английском языке, Moq это библиотека, которая, когда вы включаете в свой проект даст вам право делать Модульное тестирование в легкой манера. Почему? Потому что одна функция может вызвать другую, затем другую и так далее. Но в реальном, что необходимо, просто возвращаемое значение от первого вызова, чтобы перейти к следующей строке. Moq помогает игнорировать фактический вызов этого метода, и вместо этого вы возвращаете возвращаемую функцию. и убедитесь, что после того, как все строки кода выполнены, то, что вы хотели, это то, что вы получаете или нет. Слишком много английский, так вот пример:
String Somethod()
{
IHelper help = new IHelper();
String first = help.firstcall();
String second= secondcall(first);
return second;
}
Теперь здесь first
необходимо, чтобы для secondcall()
, но вы не можете на самом деле назвать help.firstcall()
как это в какой-то другой слой. Так Mocking делается, притворяется, что метод был назван:
[TestMethod]
public void SomeMethod_TestSecond
{
mockedIHelper.Setup(x=>x.firstcall()).Returns("Whatever i want");
}
Здесь, думаю, SetUP
, как притворяется вызов метода, мы просто заинтересованы в Returns
.
Отличное спасибо ... Думаю, мне нужно еще раз прочитать об модульном тестировании - Оцените спасибо – leen3o
MOQ также является термином, используемым в торговом бизнесе = «Количество минимального заказа»: продукт стоимостью 100 долларов США по заказу количество 5000 шт. может составлять всего 20 долларов США, если вы купите миллион единиц. Это не связано с компьютерной наукой, которую я знаю! :) –
Вернее, это изоляционная структура, так как не все подделки - издевательства. – StuperUser