首先,这个问题可能看起来有点愚蠢,我很抱歉。
所以我最近开始参加单元测试,与Karma / Jasmine一起做AngularJS。它太棒了,我很喜欢它,但有些东西出现在我的脑海里。
官方种子项目中有一个非常常见的AngularJS应用程序结构: https://github.com/angular/angular-seed
现在这个还包括单元测试,所有测试文件都位于他们的" native"角度JS文件(因此对于" home.js"控制器文件,您将拥有" home_test.js")。具有完美的意义,使编写测试和定位测试文件变得更容易/更快。
但是当我们在服务器上提供AngularJS项目时,测试文件也可用。这是一种常见的做法吗?这是件坏事吗?
我能想到的一件事是进行"测试"角度"应用"旁边的文件夹文件夹(提供给用户),该文件夹模仿应用程序的文件夹结构,测试文件位于那里。但出于某种原因,我不会在GitHub种子和项目中看到它。
很想在这里有一些意见。我可能也会遗漏一些东西......
答案 0 :(得分:1)
首先,在开发模式(本地)中,您应该使用grunt,gulp或其他可帮助您快速开发应用程序的构建系统。
使用这些工具时,告诉他们不要提供某些文件。
这就是为什么你应该给你的测试一个扩展(例如:foobar.controller.spec.js)。这将允许您to tell gulp
to ignore .spec.js
extensions,然后它们将不会被嵌入。
对于生产模式,您不单独提供文件:将它们连接到单个app.js
文件中。以同样的方式,当您构建该文件时,您告诉构建系统跳过测试文件。
所以,只需将测试保留在应用程序中,给他们一个扩展名,并告诉构建系统忽略它们。