Кроты не показывают новые сигнатуры методов после изменений в классе - PullRequest
1 голос
/ 09 августа 2011

У меня было

class Voo
{
  private static AnotherClass Doo(int id)
  {
     //do some stuff with id then return object of AnotherClass
     return x[0];
  }
}

и я использовал этот приват с родинками

MVoo.DooInt32 = delegate ...

СЕЙЧАС я изменил метод на:

class Voo
{
  private static AnotherClass Doo(string a, object b)
  {
     //do some stuff with a and b then return object of AnotherClass
     return x[0];
  }
}

НО родинок не даетмне новая подпись.Силл MVoo.DooInt32 но я ожидаю MVoo.DooStringObject

Я удалил ссылку на родинки, очистил, восстановил.Пока нет положительного результата.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Необходимо обязательно удалить файл сборки крота (.dll), пересобрать тестовый проект без типа крота, а затем добавить его обратно. Этот процесс тщательный и всегда работал для меня, в этой ситуации :

  1. Удалить ссылку на сборку моль из тестового проекта
  2. Удалить файл .moles, названный в честь рассматриваемой сборки
  3. В обозревателе решений показать все файлы в тестовом проекте
  4. Развернуть скрытую папку "MolesAssemblies"
  5. Удалите нужный файл _ .Moles.dll и соответствующие файлы XML
  6. Удалить (не удалять) тестовые файлы, которые ссылаются на сборку кротов
  7. Перестроить тестовый проект
  8. Выберите опцию контекстного меню «Добавить сборку родинок» в справочнике по нужному тестовому проекту.
  9. Добавление тестовых файлов, которые были временно удалены из проекта
  10. Перестроить тестовый проект
0 голосов
/ 09 августа 2011

Вы должны удалить файл moles для этой сборки, например, voo.moles, а затем создать новый.

...