A fake - это общий термин, который можно использовать для описания заглушки или фиктивного объекта (рукописного или иного), поскольку оба они выглядят как реальный объект.
Является ли подделказаглушка или макет зависят от того, как они используются в текущем тесте.Если он используется для проверки взаимодействия (утверждается против), это фиктивный объект.В противном случае это заглушка.
Fakes обеспечивает бесперебойную работу теста.Это означает, что читатель вашего будущего теста поймет, как будет вести себя фальшивый объект, без необходимости читать его исходный код (без необходимости зависеть от внешнего ресурса).
Что означает плавное выполнение теста?
Пример нижеприведенного кода:
public void Analyze(string filename)
{
if(filename.Length<8)
{
try
{
errorService.LogError("long file entered named:" + filename);
}
catch (Exception e)
{
mailService.SendEMail("admin@hotmail.com", "ErrorOnWebService", "someerror");
}
}
}
Вы хотите проверить mailService.SendEMail () метод,для этого вам нужно смоделировать исключение в вашем тестовом методе, поэтому вам просто нужно создать класс Fake Stub errorService для имитации этого результата, тогда ваш тестовый код сможет протестировать метод mailService.SendEMail ().Как вы видите, вам нужно смоделировать результат из другого класса External Dependency ErrorService.