javascript - 使用 Angular JS 进行 Jasmine 测试

标签 javascript angularjs unit-testing jasmine

我已将 jasmine 包含在一个 Angular 项目中,并且我正在尝试将规范文件连接到具有我的 Angular Controller 的文件(以便我可以进行单元测试)。问题是我不完全确定如何连接它。

这就是我的项目的文件夹层次结构:

project_folder/index.html
project_folder/js/controllers.js
project_folder/lib/jasmine/jasmine-standalone-2.3.4/spec/challengeSpec.js

目前我希望controllers.js 文件(带有Angular 代码)的测试位于challengeSpec.js 文件中。如何从controllers.js 文件引入模块并在测试中使用它们?每个文件中的一些代码如下所示:

controllers.js file:

var siteControllers = angular.module('siteControllers', []);
    fibonacciControllers.controller('pageController', ['$scope','$http', function ($scope, $http) {
    ...
});

challengeSpec.js file:

describe('siteControllers', function() {
    beforeEach(module('siteControllers'));
});

我知道在challengeSpec.js 文件中我需要引入controllers.js 文件中的模块,但我不确定如何做到这一点。我一直在做一些研究,建议我使用 Karma,但我不太确定这如何适合这里的等式。提前致谢。

最佳答案

您的测试规范似乎有一个良好的开端,但您不应该将文件放在您原来的位置。 需要使用 Karma,因为它是“测试运行器”。对于从 a-z 的完整故事,我会尝试阅读此内容 https://www.airpair.com/angularjs/posts/unit-testing-angularjs

关于javascript - 使用 Angular JS 进行 Jasmine 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443388/

相关文章:

php - Facebook Open Graph API 使用 PHP 或 Javascript 创建对象

java - 使用 Ajax 发送的非 ASCII 字符无法在 Java 中正确解码

javascript - Angular 自定义验证器导致范围变量未定义?

javascript - 如何使用 AngularJS 禁用今天的日期和时间 9.00am-9.00pm 之前?

javascript - ng-repeat 仅显示 json 中的最后一项

unit-testing - soapUI 与 rest-assured 的 REST API 测试

javascript - 是否有规范化 ECMAScript 5 的 JavaScript 项目

javascript - 如何将日期选择器中的值绑定(bind)到 angular2 模型?

iphone - 链接器错误: iPhone Unit Test Bundle referencing App classes

c# - 在旧版 ASP.NET 应用程序中进行单元测试以模拟 HttpContext