单元测试 – 使用UnderscoreJS为AngularJS编写测试

我开始学习如何测试Angular应用程序,并遇到了一些问题.

我使用Yeoman生成一个Angular应用程序.哟angular –minsafe AppName

然后生成一个服务yo angular:service MyService

在服务中写了一个简单的方法,并测试它,只是为了确保一切正常.我跑了grunt测试,测试通过了.

现在它变得有趣了,因为我使用bower安装下划线添加了Underscore添加了< script>在index.html中标记它.
然后我在服务方法添加了一些简单的代码,只需_.map([1,2,3],function(el){return el 1});看看Underscore是否有效.

我再次运行测试grunt测试,并且没有说_没有定义.

我认为,因为Underscore将_变量附加到窗口对象,它将可用于测试.我错了吗?

此外,当我在浏览器中运行应用程序时,Underscore已定义并正常工作.

所以,我的问题是,你如何测试使用Underscore的Angular应用程序?这是一个常见问题还是我做错了什么?

谢谢,
斯托

如果您看到Yeoman生成的karma.conf.js文件,您将看到未自动添加bower组件.
// list of files / patterns to load in the browser
files = [
  JASmine,JASmine_ADAPTER,'app/bower_components/angular/angular.js','app/bower_components/angular-mocks/angular-mocks.js','app/scripts/*.js','app/scripts/**/*.js','test/mock/**/*.js','test/spec/**/*.js'
];

只需添加下划线文件夹即可,您不会遇到任何问题.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...