![](/img/trans.png)
[英]jasmine tests in karma: Uncaught ReferenceError: require is not defined
[英]Testing Ionic with Jasmine and Karma - Uncaught ReferenceError: angular is not defined
长话短说,当我运行karma.conf.js
我看到了Uncaught ReferenceError: angular is not defined
我开始处理一个预先存在的Ionic项目。并添加一些单元测试。 我是否需要检查我们的www/index.html
..我看angular.js
足够奇怪的包含angular.js
..这是原因吗?
该团队使用maven进行构建,因此我担心在构建过程中,我们与社区其他成员的步调不一致。
更新1:在www/index.html
包含的顶部添加<script type="text/javascript" src="lib/js/angular/angular.js"></script>
无效。
更新2: index.html
包含离子束<script src="lib/js/ionic.bundle.js"></script>
Karma.conf.js
// list of files / patterns to load in the browser
files: [
'www/lib/js/angular/angular.js',
'www/lib/js/angular/angular-animate.js',
'www/lib/js/angular/angular-animate.js',
'www/lib/js/angular/angular-mocks.js',
'www/lib/js/angular/angular-resource.js',
'www/lib/js/angular/angular-sanitize.js',
'www/lib/js/angular-ui/angular-ui-router.js',
'www/lib/js/ionic.js',
'www/lib/js/ionic-angular.js',
'www/js/**/*.js',
'www/test/jasmine/*.js'
],
Ionic已经有了Angular,因此您无需在外部添加Angular。 您可能应该删除<script type="text/javascript" src="lib/js/angular/angular.js"></script>
并确保您在依赖项中添加了Ionic
angular.module('myApp', ['ionic'])
并且:请记住在index.html
执行此操作
<body ng-app="myApp"></body>
*可以在body
标签或html
标签中,只需确保添加即可。
编辑
正如@PSL所说:Ionic Bundle中包含Angular。 所以我想,您应该开始使用Ionic Bundle,而不必担心它。
如果您不使用Ionic Bundle,请在索引中添加Angular的引用,并进行我上面提到的声明。
您的业力档案应如下所示
// list of files / patterns to load in the browser
files: [
//Angular source
'lib/ionic/js/ionic.bundle.js',
'lib/angular-mocks/angular-mocks.js',
'lib/angular-local-storage/dist/angular-local-storage.js',
'lib/ngCordova/dist/ng-cordova.js',
'lib/ionic/js/angular-ui/angular-ui-router.js',
'lib/angular-animate/angular-animate.js',
'lib/angular-sanitize/angular-sanitize.js',
//App code
'js/*.js',
'js/controllers/*.js',
'js/services/*.js',
//Test files
'test/controllers/*.js'
],
如果您不使用上面的某些文件,只需将其从数组files: []
删除files: []
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.