问题标签 [mockery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 模拟框架返回具有不同名称和类型的类
我正在尝试使用此代码创建一个模拟来满足类型提示(嘲弄):
或者这个(PHPUnit):
但是返回的模拟被称为Mockery\Mock Object
or Mock_iFileSystemWrapper_a5f91049
。当它不是我需要的任何一个框架的实例时,我应该如何输入检查?
为什么模拟框架试图加载真实的类?如果我想要真正的班级,我会包括真正的班级。
在编写测试时,这个问题已经让我慢了很多次,我将把类型提示扔出窗口并检查类名,或者只是使用生产对象,因为使用模拟很痛苦。
php - 单元测试 Symfony2
我正在尝试使用 Mockery 来对我的 sf2 函数进行单元测试。我正在为我的第一次尝试而苦苦挣扎。
首先尝试测试一个使用安全上下文的类:
我创建了一个这样的testsetSecurityContext函数:
运行单元测试时,我收到错误:
测试集安全上下文
Mockery\Exception:方法 isGranted 被标记为 final,并且无法生成定义了此类方法的模拟对象。您应该将此对象的实例传递给 Mockery 以创建部分模拟。
所以我相应地改变了我的测试功能:
现在我收到该错误:
测试集安全上下文
ErrorException:可捕获的致命错误:传递给 Symfony\Component\Security\Core\SecurityContext::__construct() 的参数 1 必须实现接口Symfony\Component\Security\Core\Authentication\AuthenticationManagerInterface,没有给出,在 ..MenuBuilderTest.php 中调用第 91 行并在 ..Symfony\Component\Security\Core\SecurityContext.php 第 41 行中定义
所以我再次修改我的代码:
我得到另一个错误:
测试集安全上下文
ErrorException:可捕获的致命错误:传递给 Symfony\Component\Security\Core\SecurityContext::__construct() 的参数 2 必须实现接口Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface,没有给出,在 ...\MenuBuilderTest 中调用。 php 在第 94 行并在 ...\Symfony\Component\Security\Core\SecurityContext.php 第 41 行中定义
我最终得到:
这仍然不行,因为我得到了那个错误:
测试集安全上下文
ErrorException:可捕获的致命错误:参数 1 传递给 Atos\Worldline\Fm\Integration\Ucs\EventFlowAnalyser\Menu\MenuBuilder::setSecurityContext() 必须是Symfony\Component\Security\Core\SecurityContext的实例,给定的Mockery_50c5c1e0e68d2实例,在第 106 行的 ..\MenuBuilderTest.php 中调用并在 ..\MenuBuilder.php 第 140 行中定义
在我结束 100 行测试以测试 8 行功能之前,我真的很感激一些帮助......
php - 使用 Mockery 时的不完整测试
假设我正在测试一个方法在 php 中调用另一个方法
当我使用 PHPUnit 运行此测试时,它报告测试不完整,因为测试中没有 PHPUnit 断言。但是,它是一个有效的测试,如果不调用该方法将会出错。有什么好的解决方案可以让 PHPUnit 意识到这是一个有效的测试?
php - 如果未调用所需的方法,则 Mockery/Etsy PHPExtensions 不会失败测试
我有下面的代码,我希望在运行时会失败,因为该类DoesNothing
不使用模拟类或在其上调用任何必需的方法。
但是当我运行它时,它通过了。我希望它会说“未调用方法删除”等。
有什么问题?与 Mockery 如何与 PHPUnit 对话有关?
谢谢,马丁
编辑:我还应该提到我们正在使用Etsy 的 PHPExtensions将其集成到 PHPUnit
php - 在这个模拟对象上找不到模拟方法 shouldRecieve()
我正在使用带有 Laravel 和 PHPunit 的 padraic/mockery 包。我在 PHP 5.4.3 上。
当试图创建一个模拟对象来测试控制器时,我收到一个错误:
我的代码在下面,我非常密切地关注教程,但无法弄清楚为什么我的模拟对象似乎没有正确实例化。
php - 模拟一个类,编辑一个方法并使用另一个
我正在尝试测试一种方法,这取决于另一种方法。第一种方法注册一个用户,但必须检查给定的用户名是否可用。
我尝试了一些测试类
我想模拟类并编辑方法“a”的行为。
我试过以下
但是方法“a”保持不变。
我如何编辑方法“a”的行为,或者,我该怎么做?
谢谢
php - PHPunit 和 Mockery:找不到方法
我在使用 PHPunit 和 Mockery 时遇到问题。出于某种原因,PHPunit 说onFoo
我在 Mockery 中定义的方法不存在。
有谁知道这段代码有什么问题?
php - 找不到 Illuminate\Routing\Redirector::to("user/login") 的匹配处理程序
我如何在 laravel 4 中用参数模拟外观?例如,我正在尝试测试我的用户控制器和我的“登录”方法。
我的控制器方法
不起作用的重定向测试
我收到以下异常。我不知道如何将“用户/登录”参数注入重定向模拟
Mockery\Exception\NoMatchingExpectationException : 没有为 Illuminate\Routing\Redirector::to("user/login") 找到匹配的处理程序
php - 嘲弄 shouldReceive()->once() 似乎不起作用
我试图让 Mockery 断言给定方法至少被调用一次。
我的测试课是:
如您所见,有一个测试(希望)创建了一个期望 setUri 将被调用的测试。由于没有涉及任何其他代码,我无法想象它可以被调用而我的测试通过了。谁能解释为什么?
php - 嘲讽和狂饮
有人用 Mockery 测试 Guzzle 吗?当我尝试为 guzzle 客户端创建模拟时,出现异常:
这是代码:
谁能帮我这个?