Жасмин в отдельном тестовом проекте
Практически / возможно ли разделить тесты с жасмином на отдельный проект Visual Studio?
Я только начинаю работать с angular и пытаюсь написать свои тесты, прежде чем приступить к реальной угловой реализации. Я напишу свой проект в Visual Studio 2012 с тестовым бегателем Chutzpah, см. Это видео. В настоящее время я пытаюсь понять, как организовать структуру папок. Я знаю об angular-seed и yeoman, но они плохо подходят для запуска проекта.net.
Я предполагаю, что, поскольку модульные тесты в Visual Studio обычно разделяются на отдельный тестовый проект, по соглашению, жасминовые тесты тоже должны.
Однако для java-скрипта нет проектных библиотек, на которые можно ссылаться, поэтому разделение тестов на другой проект, я думаю, потребует большого количества копирования и вставки.
3 ответа
Вы можете сделать это без копирования / вставки. В ваших тестах Жасмин вы можете добавить /// <reference
прокомментируйте, какие сообщения в ваши исходные файлы (или каталог, содержащий их). Например, учитывая эту структуру
/ ProjectA / scripts
code1.js code2.js
/ TestProjectB test1.js
Вы можете добавить эту строку вверху файла test1.js для ссылки на все ваши файлы кода:
//// <reference path="../scripts" />
Традиционно я всегда держал модульные тесты в отдельных сборках.
Я прочитал обе стороны аргумента и предпочитаю не отправлять код, который не является рабочим кодом, или иметь дополнительные шаги по развертыванию для удаления тестов из рабочего кода.
Например, чтобы ссылаться на javascript в моей сборке Web.Client.Tests, я использую событие post-build для копирования файлов в тестовый проект. Для этого я использую robocopy - это выглядит примерно так:
robocopy "$ (ProjectDir) app" "$ (SolutionDir) Тесты \Presentation\Web.Client.Tests\app" /E /COPY:D /IS robocopy "$(ProjectDir)Scripts" "$(SolutionDir) тесты \Presentation\Web.Client.Tests\Scripts" /E /COPY:D /IS если уровень ошибки 1 GOTO:eof
Основным недостатком этого подхода является то, что вам приходится каждый раз собирать проект, как и в коде C#, чтобы обновить тестовый проект перед запуском тестов.
Думаю, вы должны использовать структуру папок по умолчанию, как рекомендуется jasmine
вот ссылка, показывающая структуру по умолчанию jasmine