3
我正在用Jasmine測試我的AngularJS應用程序,它正在通過規格。我試圖與Karma一起運行測試,但它失敗了。看來Karma無法看到Jasmine規範中定義的$範圍,但Jasmine跑步者認爲它很好。通過Karma測試AngularJS與茉莉花
我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
茉莉在流逝這沒有問題,這顯然是噶或我的配置文件。這是怎麼回事?
我刪除了ANGULAR_SCENARIO和ANGULAR_SCENARIO_ADAPTER,現在運行良好。找到適當的文檔。做出了錯誤的假設。 – andy
這是因爲ANGULAR_SCENARIO旨在用於e2e測試,並且這需要單元測試中使用的單獨的karma.conf文件 –
這些文檔位於何處以將所有這些文件結合使用? – vcardillo