Я хотел бы изучить, что мы можем сэкономить время, установив, что все Moq-mocks, созданные AutoMoq, должны по умолчанию возвращать созданные в Fixture значения в качестве возвращаемых значений метода.Выполнение AutoMoq return Созданные приложением значения для методов
Это было бы полезно при выполнении теста, как в следующем: (?)
[TestMethod]
public void Client_Search_SendsRestRequest()
var client = fixture.Create<Client>();
// Could be removed by implementing the mentioned functionality
Mock.Of(JsonGenerator).Setup(j => j.Search(It.IsAny<string>())).Returns(create("JsonBody")));
client.Search(fixture.Create("query"));
Mock.Of(client.RestClient).Verify(c => c.Execute(It.IsAny<RestRequest>()));
Mock.Of(client.RestClient).Verify(c => c.Execute(It.Is<RestRequest>(r => record(r.Body) == record(client.JsonGenerator.Search(query)))));
}
Обратите внимание, что генерируемые значения должны быть в кэше внутри прокси, мы хотим, чтобы то же самое значение «замороженный», чтобы проверить , Кроме того, настройка макета с Setup
должна переопределять созданное значение.
Итак, как мы можем модифицировать AutoMoq mocks для этого?
Простой тест проверки того, что она работает может быть:
[TestMethod]
public void MockMethodsShouldReturnCreatedValues()
{
Guid.Parse(new Fixture().Create<ITest>().Test());
}
public interface ITest
{
string Test();
}