Жасмин в отдельном тестовом проекте

Практически / возможно ли разделить тесты с жасмином на отдельный проект 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

Другие вопросы по тегам