通过Karma用Jasmine测试AngularJS
发布时间:2020-12-17 16:59:10 所属栏目:安全 来源:网络整理
导读:我现在用Jasmine测试我的AngularJS应用程序,它正在通过规范.我尝试用Karma运行测试,但它失败了.似乎Karma看不到Jasmine规范中定义的$scope,但是Jasmine的跑者看起来很好. 我的karma.conf.js: frameworks = ['jasmine'];colors = true;singleRun = true;file
我现在用Jasmine测试我的AngularJS应用程序,它正在通过规范.我尝试用Karma运行测试,但它失败了.似乎Karma看不到Jasmine规范中定义的$scope,但是Jasmine的跑者看起来很好.
我的karma.conf.js: frameworks = ['jasmine']; colors = true; singleRun = true; files = [ JASMINE,JASMINE_ADAPTER,ANGULAR_SCENARIO,ANGULAR_SCENARIO_ADAPTER,'lib/jquery-1.9.1.min.js','lib/angular.min.js','lib/angular-mocks.js','lib/jquery.scrollTo.js','lib/jquery-ui.min.js','lib/calendar.js','lib/date.js','src/app.js','spec/*.spec.js' ]; browsers = [ 'PhantomJS','Firefox' ]; 我的test.spec.js: describe('Application startup',function(){ beforeEach(module('app')); describe('MainCtrl',function(){ var scope,ctrl; beforeEach(inject(function($rootScope,$controller){ scope = $rootScope.$new(); ctrl = $controller('MainCtrl',{ $scope: scope }); })); it("should initialize $scope.testLoad to 42",function(){ expect(scope.testLoad).toBe(42); }); }); }); 我得到的输出: expect undefined toBe 42 由于Jasmine正在通过它而没有任何问题,它显然是Karma或我的配置文件.这是怎么回事? 解决方法
我删除了ANGULAR_SCENARIO和ANGULAR_SCENARIO_ADAPTER,现在运行正常.找到合适的文档.做了一个糟糕的假设.
感谢@ canotto90和@Tyler Eich的帮助和澄清. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |