将茉莉花测试分成单独的视觉工作室项目是否可行/可行?
我刚开始使用angular,并且在开始实际角度实现之前尝试编写测试。我将使用 Chutzpah测试运行器在 Visual Studio 2012 中编写我的项目,请参阅此video。目前,我正在试图弄清楚如何组织我的文件夹结构。我知道角度种子和自耕农,但那些不适合启动.net项目。
我假设因为Visual Studio中的单元测试通常被分成一个单独的测试项目,按照惯例,茉莉花测试也应该。
但是,对于java脚本,没有项目dll可供引用,因此将测试分成不同的项目需要大量的复制和粘贴,我认为。
答案 0 :(得分:18)
您可以在不复制/粘贴的情况下执行此操作。在您的Jasmine测试中,您可以添加/// <reference
评论,该评论会发布到您的源文件(或包含它们的目录)。例如,鉴于这种结构
/ ProjectA / scripts
code1.js code2.js
/ TestProjectB test1.js
您可以在test1.js文件的顶部添加此行以引用所有代码文件:
//// <reference path="../scripts" />
答案 1 :(得分:1)
传统上,我总是将单元测试保存在单独的程序集中。
我已经阅读了论据的两个方面,并且不希望发布不是生产代码的代码,或者有其他部署步骤来从生产代码中删除测试。
例如,为了在我的Web.Client.Tests程序集中引用javascript,我使用post-build事件将文件复制到测试项目中。为此,我使用了robocopy - 它看起来像这样:
robocopy "$(ProjectDir)app" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\app" /E /COPY:D /IS robocopy "$(ProjectDir)Scripts" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\Scripts" /E /COPY:D /IS if errorlevel 1 GOTO :eof
这种方法的主要内容是,您必须每次构建项目,就像您必须使用C#代码一样,在运行测试之前更新测试项目。
答案 2 :(得分:-2)
认为您应该使用jasmine
此处link显示jasmine