我想获得一个基本的单元测试工作,并在用角mocks.js运行到一个问题。希望这code会解释我的情况。
描述(peconfigApp功能(){ beforeEach(函数(){ angular.mock.module('peconfigApp'); }); 描述(二进制控制器,函数(){ 它(应该工作功能(){ 期待(真).toBe(真); }); });});
茉莉花结果错误:
类型错误:对象#<对象>没有方法模块 在空<&匿名GT; (HTTP://本地主机:58141 /测试/ JS /控制器tests.js:4:22) 在jasmine.Block.execute(HTTP://本地主机:58141 /测试/ lib中/ jasmine.js:1064:17)
在code的不同部位
我已经放在警报,以验证角mocks.js之前我的测试负载加载并运行,所以我pretty确保加载不是问题。
<脚本类型=文/ JavaScript的SRC =../的lib / angular.min.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =../的lib /角mocks.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =LIB / jasmine.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =LIB /茉莉html.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =../ JS / controllers.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =JS /控制器tests.js>< / SCRIPT>
解决方案
我感动茉莉花加载后角嘲笑负载。
<脚本类型=文/ JavaScript的SRC =../的lib / angular.min.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =LIB / jasmine.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =LIB /茉莉html.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =../的lib /角mocks.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =../ JS / controllers.js>< / SCRIPT><脚本类型=文/ JavaScript的SRC =JS /控制器tests.js>< / SCRIPT>
这使得它的工作。阿呆的问题,我必须通过文档和教程读书时,已经错过了这个地方。
I'm trying to get a basic unit test working and am running into an issue using angular-mocks.js. Hopefully this code will explain my situation.
describe("peconfigApp", function () {
beforeEach(function() {
angular.mock.module('peconfigApp');
});
describe("Binaries Controller", function () {
it("should work", function () {
expect(true).toBe(true);
});
});
});
Jasmine result error:
TypeError: Object #<Object> has no method 'module'
at null.<anonymous> (http://localhost:58141/Tests/js/controller-tests.js:4:22)
at jasmine.Block.execute (http://localhost:58141/Tests/lib/jasmine.js:1064:17)
I've placed alerts in different parts of the code to verify that angular-mocks.js is loading before my tests load and run so I am pretty sure loading is not an issue.
<script type="text/javascript" src="../lib/angular.min.js"></script>
<script type="text/javascript" src="../lib/angular-mocks.js"></script>
<script type="text/javascript" src="lib/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-html.js"></script>
<script type="text/javascript" src="../js/controllers.js"></script>
<script type="text/javascript" src="js/controller-tests.js"></script>
解决方案
I moved the angular-mocks load after the jasmine loads.
<script type="text/javascript" src="../lib/angular.min.js"></script>
<script type="text/javascript" src="lib/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-html.js"></script>
<script type="text/javascript" src="../lib/angular-mocks.js"></script>
<script type="text/javascript" src="../js/controllers.js"></script>
<script type="text/javascript" src="js/controller-tests.js"></script>
This makes it work. Dumb problem, I must have missed this somewhere while reading through docs and tutorials.