PaR*_*Nos 25 angularjs teaspoon angular-mock
我正在尝试使用通过Teaspoon运行的Jasmine在Angular中创建一些单元测试.测试正在运行,但是我有一个简单的测试只是为了测试是否存在失败的控制器.我有以下测试设置.
//= require spec_helper
require("angular");
require("angular-mocks");
var app = require("./app");
describe("My App", function() {
describe("App Controllers", function() {
beforeEach(module("app"))
it("Should have created an application controller", inject(function($rootScope, $controller){
var scope = $rootScope.$new();
ctrl = $controller("ApplicationCtrl", { $scope: scope });
}));
})
})
Run Code Online (Sandbox Code Playgroud)
需要的语句由Browserify处理,它处理我的依赖项,但我也可以挂钩我用于规范助手的链接.
在我需要的应用程序内部
require("angular");
var controllers = require("./controllers");
var app = angular.module("app", [
"app.controllers"
]);
exports.app = app;
Run Code Online (Sandbox Code Playgroud)
当我运行此测试时,我得到以下错误
Failure/Error: TypeError: '[object Object]' is not a function (evaluating 'module("aialerts")')
Run Code Online (Sandbox Code Playgroud)
我花了很长时间试图解决这个问题,但我不知道发生了什么.任何帮助赞赏.
zay*_*uan 83
我有同样的问题.改变这一行:
beforeEach(module("app"))
Run Code Online (Sandbox Code Playgroud)
至:
beforeEach(angular.mock.module("app"))
Run Code Online (Sandbox Code Playgroud)
ynd*_*lok 24
Browserify使用Node-style require,其中module一个对象可用于导出功能:
console.log(module); // {exports: {}}
Run Code Online (Sandbox Code Playgroud)
angular-mocks.js尝试附加一个函数window.module,但这在Browserify/Node中是不可能的.
看一下角度模拟源,看起来角度模拟也附加了这个module功能angular.mock.因此module,您必须使用而不是使用全局对象angular.mock.module.
| 归档时间: |
|
| 查看次数: |
12830 次 |
| 最近记录: |