Angular服务具有多个功能。它们全部使用通过var varName
文件顶部的a定义的局部变量。
对单元进行功能测试时,有什么方法可以模拟此变量?
简而言之,没有。
最简单的方法是将其置于$ scope级别。或者也许作为angularjs常量
角常数
或者,如果您是一个非常疯狂的家伙,则可以制作一个脚本来更改var的值,但是严重的不要这样做,那太疯狂了。
问题内容: 我正在尝试编写业力/茉莉花测试,我想对模拟如何在正在返回诺言的服务上工作进行一些解释。我解释一下我的情况: 我有一个控制器,在其中执行以下调用: 这是我的服务方式: 最后,这是我的单元测试: 我真正想做的是将响应对象({“ elements:…})作为fillMapDatas函数的datas参数。我不了解如何模拟所有服务内容(服务,承诺,然后) 问题答案: 因此,如果您的服务是否按预期
问题内容: 我正在使用函数,这样我的程序就不会一团糟,但我不知道如何将局部变量变成全局变量。 问题答案: 这是两种实现相同目的的方法: 使用参数并返回(推荐) 运行时,将获得以下输出 使用全局变量(永远不要这样做) 现在您将获得:
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。 使用局部变量 例7.3 使用局部变量 #!/usr/bin/python # Filename: func_local.py deffunc(x): print'x is', x
问题内容: 以下是我的控制器中的内容: 而且我想监视,以便在被调用时是: 如何才能做到这一点? 问题答案: 默认情况下,当您与 jasmine一起 使用时,它将模拟该函数,并且实际上不执行其中的任何操作。如果要在其中测试其他函数调用,则需要调用,如下所示: 应该这样做。
问题内容: 我有这样的情况 到目前为止我一直在嘲笑 现在我得到一个读者 但是当我执行此行时,我得到null并且无法前进 请告诉我如何嘲笑这个。请注意,我无法更改我的主要代码,因此在我的情况下,Mockito文档中存在的解决方案无效 测试码 问题答案: 要使此工作正常进行,您需要使用Powermockito来拦截构造函数调用(新的InputStreamReader(…),新的BufferedRead