AngularJS和Karma / Jasmine单元测试 - 文件夹结构和生产

时间:2016-10-02 17:10:05

标签: angularjs unit-testing jasmine karma-jasmine

首先,这个问题可能看起来有点愚蠢,我很抱歉。

所以我最近开始参加单元测试,与Karma / Jasmine一起做AngularJS。它太棒了,我很喜欢它,但有些东西出现在我的脑海里。

官方种子项目中有一个非常常见的AngularJS应用程序结构: https://github.com/angular/angular-seed

现在这个还包括单元测试,所有测试文件都位于他们的" native"角度JS文件(因此对于" home.js"控制器文件,您将拥有" home_test.js")。具有完美的意义,使编写测试和定位测试文件变得更容易/更快。

但是当我们在服务器上提供AngularJS项目时,测试文件也可用。这是一种常见的做法吗?这是件坏事吗?

我能想到的一件事是进行"测试"角度"应用"旁边的文件夹文件夹(提供给用户),该文件夹模仿应用程序的文件夹结构,测试文件位于那里。但出于某种原因,我不会在GitHub种子和项目中看到它。

很想在这里有一些意见。我可能也会遗漏一些东西......

1 个答案:

答案 0 :(得分:1)

首先,在开发模式(本地)中,您应该使用grunt,gulp或其他可帮助您快速开发应用程序的构建系统。

使用这些工具时,告诉他们不要提供某些文件。 这就是为什么你应该给你的测试一个扩展(例如:foobar.controller.spec.js)。这将允许您to tell gulp to ignore .spec.js extensions,然后它们将不会被嵌入。

对于生产模式,您不单独提供文件:将它们连接到单个app.js文件中。以同样的方式,当您构建该文件时,您告诉构建系统跳过测试文件。

所以,只需将测试保留在应用程序中,给他们一个扩展名,并告诉构建系统忽略它们。