【发布时间】:2015-08-27 11:17:02
【问题描述】:
我正在尝试使用 Jasmine 测试 Angular 指令。
HTML 看起来像这样:
<html>
<head>
<title></title>
<script src='/jasmine/jasmine.js'></script>
<script src='/jasmine/jasmine-html.js'></script>
<script src='/jasmine/boot.js'></script>
<script src='/angular/angular.js'></script>
<script src='/angular/angular-mocks.js'></script>
<script src='/components/test-directive.js'></script>
<script src='/app.js'></script>
<script>
angular.module('myAppTests', ['myApp', 'ngMockE2E'])
.run(function($httpBackend){
$httpBackend.whenGET(/^\/views\//).passThrough();
});
</script>
<script src='/components/test-directive.spec.js'></script>
</head>
<body></body>
</html>
测试指令(/components/test-directive.js)
angular.directive('testDirective', function(){
return {
templateUrl:'/views/test-directive.html'
};
});
测试文件(/components/test-directive.spec.js)如下所示:
describe('test directive', function(){
beforeEach(module('myAppTests'));
var element, $scope;
beforeEach(inject(function($compile, $rootScope){
element = angular.element('<div data-test-directive=""></div>');
$scope = $rootScope;
$compile(element)($scope);
$scope.$digest();
}));
it('generates the correct HTML', function(){
expect(element.html()).toContain('test content');
});
});
还有 /views/test-directive.html
<p>test content</p>
运行测试时出现以下错误:
'Unexpected request: GET /views/test-directive.html'
【问题讨论】:
标签: javascript angularjs jasmine