23

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

我刚刚开始使用 Angular,并且在开始实际的 Angular 实现之前尝试编写我的测试。我将在Visual Studio 2012中使用Chutzpah 测试运行程序编写我的项目,请参阅此视频。目前,我正在尝试弄清楚如何组织我的文件夹结构。我知道 angular-seed 和 yeoman,但它们不适合启动 .net 项目。

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

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

4

3 回答 3

18

您可以在不复制/粘贴的情况下执行此操作。在您的 Jasmine 测试中,您可以添加一条/// <reference评论,该评论将发布到您的源文件(或包含它们的目录)。例如给定这种结构

/ProjectA /脚本

code1.js
code2.js

/TestProjectB test1.js

您可以在 test1.js 文件的顶部添加此行以引用所有代码文件:

/// <reference path="../scripts" />
于 2013-05-17T17:01:48.127 回答
1

传统上,我总是将单元测试保存在单独的程序集中。

我已经阅读了争论的两面,并且不希望发布不是生产代码的代码,或者有额外的部署步骤来从生产代码中删除测试。

例如,为了在我的 Web.Client.Tests 程序集中引用 javascript,我使用构建后事件将文件复制到测试项目中。为此,我使用 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

如果错误级别 1 GOTO :eof

这种方法的主要缺点是您必须每次都构建项目,就像您必须使用 C# 代码一样,在运行测试之前更新测试项目。

于 2014-05-14T11:39:51.147 回答
-2

认为您应该使用推荐的默认文件夹结构jasmine

这是一个显示默认结构的链接jasmine

于 2013-05-28T07:52:37.953 回答