我是自耕农及其使用的所有工具的新手。我在自耕农中创建了一个测试项目,并尝试在茉莉花中运行测试规范。 我已经使用cmd:
安装了jasmine插件npm install grunt-contrib-jasmine --save-dev
在Gruntfile.js中添加了jasmine任务
jasmine: {
src: '<%= yeoman.app %>/scripts/{,*/}*.js',
specs: 'test/spec/{,*/}*.js'
},
当我运行jasmine任务 grunt jasmine 时出现以下错误: -
E:\Personal Projects\yeoman-projects\test-app>grunt jasmine
Running "jasmine:src" (jasmine) task
Testing jasmine specs via phantom
ReferenceError: Can't find variable: angular at
..\..\..\E:\Personal%20Projects\yeoman-projects\test-app\app\scripts\app.js:3
ReferenceError: Can't find variable: angular at
..\..\..\E:\Personal%20Projects\yeoman-projects\test-app\app\scripts\controll
ers\main.js:3
以下是我的main.js
'use strict';
angular.module('testAppApp')
.controller('MainCtrl', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
});
和app.js
'use strict';
angular.module('testAppApp', [
'ngRoute'
])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
我错过了什么吗?
谢谢, 帕里克希特
答案 0 :(得分:9)
在jasmine src下你必须包含angular.js。现在你只包括你自己的脚本。如果您使用的是yeaoman,它们通常位于名为bower_components / angular的文件夹中。
答案 1 :(得分:0)
为了保持测试文件的清洁,您应该使用options.vendor
。
jasmine: {
src: '<%= yeoman.app %>/scripts/{,*/}*.js',
specs: 'test/spec/{,*/}*.js',
vendor: 'path/to/angular.js'
},