Создать заглушку родинок - PullRequest
0 голосов
/ 19 декабря 2011

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

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

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

1 Ответ

0 голосов
/ 18 апреля 2012

Полагаю, вы еще не дошли до создания сборки 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());
}
...