利用Jasmine对Angular进行单元测试的方法详解 单元测试是一种能够帮助开发者验证代码中某一部分有效性的技术。下面这篇文章主要给大家介绍了关于利用Jasmine对Angular进行单元测试的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
“没有提供者错误”在Karma上运行angularjs phonecat教程 我已经找到并尝试了许多在这里和其他地方提供的解决方案:重新降级业务版本升级节点和npm–改变配置文件中的负载顺序….但到目前为止没有任何作用。问题是我通过Apache运行角度教程?启动KarmaServer你必须安装茉莉花
测试 – 如何用AngularJs中的私有方法编写可测试的控制器? 显然我们在这里:>控制器的常规支架与$范围和一些服务注入>一些字段和函数附加到作用域>private方法util()现在,我想在单元测试中覆盖这个类。然而,问题是,我想验证当我点击一些项目,util()方法将被调用。我不知道该怎么做,因为在Jasmine测试中,我总是得到的错误,或者mock为util()没有被定义或没有被调用。命名空间的范围是污染。
为什么我的AngularJS,Karma/Jasmine测试运行这么慢? 我有一些简单的karma/茉莉花单元测试运行一个angularjs应用程序。我已经搜索网络尝试和发现我做错了。为什么我的测试运行这么慢?我使用Chrome运行karma服务器。当您首次启动karma服务器时,Chrome的实例将作为最大化窗口启动。因此,如果您最小化运行karma服务器的浏览器实例,或者只是切换到不同的选项卡,那么karma服务器严重缺乏cpu,测试需要很长时间才能完成。解决方案是使karma选项卡保持活动状态。遵循这些简单的规则将确保您的测试始终以全速运行。
angularjs – jasmine:在由jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调 我收到一个错误:和我的测试花了太长的时间(约5秒)。有人可以帮助我提供我的代码的工作示例与一些解释?在你的函数中有一个参数将导致它尝试异步调用。它没有区别什么做的参数命名,它的存在就是重要的。我从太多的副本/面食碰到这个问题。如果你从不调用它,Jasmine永远不会知道你的测试是完成,并将最终超时。
如何解决在AngularJS,Jasmine 2.0的promise,当没有$scope强制摘要? 我现在的情况是我有一个服务,可以关心任何范围的应用程序,所有它从服务器返回一些数据,但promise似乎没有解决。测试此功能的正确方法是什么?显然,你被迫注入和消化$rootScope,即使服务没有使用它。您需要在测试中注入$rootScope并触发$digest。
Jasmine测试没有看到AngularJS模块 我试图用Jasminespec文件单元测试一个Angular服务。这里有一个简单的规范,试图简单地加载Angular模块:当我运行Jasmine时,会导致以下错误jasmine.yml文件包含软件的版本是:>Rails3.2.7>茉莉核心1.2.0>jasmine-headless-webkit0.8.4>AngularJS1.0.2我需要做什么来使Jasmine找到Angular?
AngularJS $timeout函数没有在我的Jasmine规范中执行 但一个$timeout在现实生活中很好,崩溃了我的测试。但是在我的测试中,$timeout什么都不做,该函数从不执行,Jasmine在超时750ms后报告错误。根据用于$timeout的AngularJS文档,您可以使用$timeout.flush()来同步刷新延迟函数的队列。尝试将测试更新为:这里是一个plunker,显示了你的原始测试失败和新的测试通过。
解读Jasmine的Spy机制 众所周知,Angular所用的单元测试框架是Karma+Jasmine,最近在写Angular的UnitTest的时候,在Given“创建测试条件”部分会在很多地方用到Spy去模拟和监测函数调用,而jasmine为我们提供的关于Spy的函数有很多种,比如createSpyObj,createSpy,SpyOn等等,而这些方法命名相似但是用法却不相同,常常让人容易混淆而产生很多错误,下面就通过研读Jasmine关于Spy的源码来弄清楚这些Spy函数到底是干什么的,在什么场合下使用它们。
angularjs – 如何修复我的发电机角项目,使咕噜测试工程? 我有使用AngularJS的经验,但是正在寻找一种方法来获得一个最佳实践目录设置;我不知道如何设置依赖关系,并让我自己运行karma,因此使用yeoman发电机。