2012-04-26 3 views
2

В Visual Studio 2008 Professional, когда я создаю единичный тест для метода (используя встроенную среду и мастер-класс для студии), сгенерированный тестовый файл-заглушка сохраняется в корневой директории теста проект.сменить каталог сгенерированных тестовых файлов модулей

Когда я потом перетащил тестовый файл в подкаталог, я не могу использовать мастер для создания большего количества тестовых заглушек для других методов одного и того же класса (он создаст новый пустой файл в корне, а затем бесшумно сработает)

Как я могу изменить это, чтобы тестовый проект использовал ту же структуру папок, что и мой основной проект; поэтому, если класс является, например, в project-root\model\xyz.cs, соответствующий класс теста автоматически генерируется в testproject-root\model\xyzTest.cs?


редактировать:

Добавить момент, это, кажется неразрешимой ошибка с Visual Studio. Помимо обходного пути, описанного в ответе ниже, еще одна возможность - просто переименовать автогенерированные тестовые классы после перемещения соответствующих файлов тестовых классов. Затем Visual Studio, по крайней мере, не будет терпеть неудачу, но воссоздает старый файл тестового класса в корневой папке при генерации другого тестового метода, и затем этот метод тестирования можно скопировать в нужный файл.

ответ

1

Я только что подтвердил вашу проблему, добавив больше тестов для файла, который я переместил, я только что получил первые 2 строки созданного файла.

Я предполагаю, что мастер просто не знает, как искать в подпапках, чтобы узнать, к какому файлу добавить его, но ошибки при попытке создать второй класс с тем же именем. (Я бы предположил, что если вы переименуете какой-либо из тестовых файлов, но оставите их в корне, у него тоже возникнет такая проблема, но я не испытал эту идею)

Так что я не думаю, что вокруг все равно если вы хотите продолжить использование мастера. Вы должны перенести его в корень, использовать мастер и перенести его вправо. Это лучший вариант, о котором я могу думать.

Я думаю, что тест способности были значительно улучшены в VS2010, я не использовал это, но возможно, установил ее для этой версии ...

This answer предлагает решение, используя 3-ий шаблон кода стороной.

0

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

Похоже, вы хотите, чтобы это было не только в отдельной папке, но и в отдельном проекте?

После того, как ваши папки расположены так, как вы хотите, щелкните правой кнопкой мыши ссылки для вашего тестового проекта и нажмите «Добавить ссылку». Нажмите «Обзор вкладки», а затем найдите свой основной проект, зайдите в папку bin/Debug и выберите соответствующую dll или exe.

Это, конечно, предполагает, что вы можете сначала скомпилировать свой основной проект. Чтобы скомпилировать исходный проект, щелкните его правой кнопкой мыши в своем браузере решений, нажмите «Построить» или «Отладить/Начать новый экземпляр».

Это, надеюсь, будет работать. Надеюсь: p.

Смежные вопросы