2016-10-02 85 views
0

首先,这个问题可能看起来有点愚蠢,我很抱歉。所以我最近开始潜入单元测试中,用Karma/Jasmine做AngularJS。这是惊人的,我很喜欢它,但是我想起了一些东西。AngularJS和Karma/Jasmine单元测试 - 文件夹结构和生产

没有为AngularJS应用thesedays一种非常常见的结构,在官方种子工程: https://github.com/angular/angular-seed

现在,这其中也包括单元测试,所有测试文件挨着他们的“原生”的角度JS文件(所以对于“home.js”控制器文件,您将拥有“home_test.js”)。具有完美的意义,使编写测试和定位测试文件变得更容易/更快速。

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

我可以想到的一件事是在angular的“app”文件夹旁边有一个“tests”文件夹(将其提供给用户),该文件夹模仿应用程序的文件夹结构并且测试文件位于那里。但出于某种原因,我在GitHub种子和项目中看不到它。

想在这里输入一些家伙。我可能会错过一些东西...

回答

1

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

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

对于生产模式,您不需要单独提供文件:将它们连接成一个app.js文件。同样,当你建立这个文件时,你告诉你的编译系统跳过测试文件。因此,只要在应用程序中保留测试,给它们一个扩展名并告诉构建系统忽略它们。

+0

正是我所想的!在等待这里的回应时,我已经看着咕噜咕噜咕噜咕噜咕噜咕咕咕咕咕咕。非常感谢Zakaria。 –