Jasmine在一个单独的测试项目中

时间:2013-05-13 15:52:21

标签: asp.net-mvc asp.net-mvc-4 visual-studio-2012 jasmine chutzpah

将茉莉花测试分成单独的视觉工作室项目是否可行/可行?

我刚开始使用angular,并且在开始实际角度实现之前尝试编写测试。我将使用 Chutzpah测试运行器 Visual Studio 2012 中编写我的项目,请参阅此video。目前,我正在试图弄清楚如何组织我的文件夹结构。我知道角度种子和自耕农,但那些不适合启动.net项目。

我假设因为Visual Studio中的单元测试通常被分成一个单独的测试项目,按照惯例,茉莉花测试也应该。

但是,对于java脚本,没有项目dll可供引用,因此将测试分成不同的项目需要大量的复制和粘贴,我认为。

3 个答案:

答案 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

的默认结构