在Karma + AngularJS测试中加载模拟JSON文件

在Karma + AngularJS测试中加载模拟JSON文件,第1张

在Karma + AngularJS测试中加载模拟JSON文件

我正在使用带有角度种子的角度设置。我最终通过直接的.json固定文件和jasmine-
jquery.js解决了这个问题。其他人都提到了这个答案,但我花了一些时间才能将所有内容都放在正确的位置。我希望这可以帮助其他人。

我的文件夹中有json文件,

/test/mock
而webapp在中
/app

karma.conf.js
有这些条目(以及其他条目):

basePath: '../',files: [      ...       'test/vendor/jasmine-jquery.js',      'test/unit*.js',      // fixtures      {pattern: 'test/mock/*.json', watched: true, served: true, included: false}    ],

然后我的测试文件有:

describe('JobsCtrl', function(){var $httpBackend, createController, scope;beforeEach(inject(function ($injector, $rootScope, $controller) {    $httpBackend = $injector.get('$httpBackend');    jasmine.getJSonFixtures().fixturesPath='base/test/mock';    $httpBackend.whenGET('http://blahblahurl/resultset/').respond(        getJSonFixture('test_resultset_list.json')    );    scope = $rootScope.$new();    $controller('JobsCtrl', {'$scope': scope});}));it('should have some resultsets', function() {    $httpBackend.flush();    expect(scope.result_sets.length).toBe(59);});});

真正的把戏是

jasmine.getJSonFixtures().fixturesPath='base/test/mock';

我最初将其设置为,
test/mock
但是它需要
base
在其中。没有基础,我会得到如下错误:

Error: JSonFixture could not be loaded: /test/mock/test_resultset_list.json (status: error, message: undefined)at /Users/camd/gitspace/treeherder-ui/webapp/test/vendor/jasmine-jquery.js:295


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5622379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存