Создать заглушку родинок

Я новичок в Pex и Moles, и я хочу использовать параметризованные модульные тесты. Я использую инъекцию конструктора и хочу создать заглушку родинок для моего параметра.

public UserLogic(IUserRepository userRepository)
{
    _userRepository = userRepository;
}

В документации, которую я прочитал, говорится, что Moles сгенерирует тип заглушки для моего хранилища SIUserRepository. Но я не могу понять, как создать заглушку. Кто-нибудь сможет привести пример. Спасибо

1 ответ

Решение

Я предполагаю, что вы еще не дошли до создания сборки Moles. Вот несколько основных шагов, которым нужно следовать;

  1. в вашем модульном тестовом проекте разверните ссылки и щелкните правой кнопкой мыши сборку, которая содержит тип IUserRepository - выберите "Добавить сборку родинок";
  2. Теперь у вас есть заглушки и родинки Moles для этой сборки в пространстве имен ".Moles", поэтому, если у вас был MyAsssembly.SomeNamespace.IUserRepository, теперь у вас будет доступный тип заглушки MyAssembly.SomeNameSpace.Moles.SUserRepository.

Теперь в некотором методе UserLogic_Test вы можете ссылаться на заглушку следующим образом;

[TestMethod]
public void UserLogic_Test()
{
    MyAssembly.SomeNameSpace.Moles.SUserRepository mock = new SUserRepository();
    UserLogic o = new UserLogic(mock);
    Assert.AreEqual(1, o.SomeMethod());
}
Другие вопросы по тегам