mockery相关内容

未找到“嘲弄"类

我使用 laravel (4.1) 框架,我阅读了“Laravel-testing-decoded",这是 Jeffrey Wey 的电子书. 我想测试我的模态用户和我的方法 setPasswordAttribute($password) 我的单元测试: once()->andReturn('hashed');$user = 新用户;$user->password = '食物';$t ..
发布时间:2022-01-25 14:10:56 其他开发

Mockery 中的重载和别名有什么区别?

我不熟悉使用 Mockery 并与术语 alias 和 混淆>重载.谁能给我解释一下什么时候用哪个? 解决方案 Overload 用于创建“实例模拟".当创建一个类的新实例时,这将“拦截"并且将使用模拟.例如,如果要测试此代码: class ClassToTest {公共函数methodToTest(){$myClass = new MyClass();$result = $myClas ..
发布时间:2022-01-25 13:29:28 PHP

Laravel 依赖注入:什么时候需要?什么时候可以模拟 Facades?两种方法的优点?

我使用 Laravel 已经有一段时间了,我已经阅读了很多关于依赖注入的可测试代码.在谈论 Facades 和 Mocked Objects 时,我感到困惑.我看到两种模式: class Post 扩展 Eloquent {受保护的 $guarded = array();公共静态 $rules = array();} 这是我的帖子模型.我可以运行 Post::all(); 从我的博客中获取所有 ..
发布时间:2022-01-08 08:54:14 PHP

在 Mockery 中测试链式方法调用

我正在尝试在控制器中正确模拟对 Eloquent 模型的链接调用.在我的控制器中,我使用依赖注入来访问模型,因此它应该很容易模拟,但是我不确定如何测试链接的调用并使其正常工作.这一切都在 Laravel 4.1 中使用 PHPUnit 和 Mockery. 控制器: textbook = $textbook;}公共函数索引(){$textbooks = $this->textbook->r ..
发布时间:2021-12-15 12:24:54 PHP

如何使用 Mockery 在第 N 次调用模拟方法时抛出异常

我需要测试我编写的某些代码在多次调用另一个类上的方法时的行为方式,其中一次调用会导致抛出异常. 我正在使用 Mockery 来模拟可能引发异常的类. 所以在我的例子中,该方法将被调用三次,我需要它在第二次抛出异常. 这是我的意图的例子,但它不起作用. $mock = \Mockery::mock();$mock->shouldReceive('fetch')->andRetur ..
发布时间:2021-09-14 18:58:30 PHP

使用 Mockery 模拟另一个静态方法中调用的静态方法

我想用Mokcery模拟另一个方法中使用过的静态方法,如下: Class SomeClass{公共静态函数 methodA(){.....;自我::B();}公共静态函数methodB(){做点什么}} 如果我想模拟methodB,而使用methodA,mock函数不起作用,只是因为methodA中使用了methodB,如下 使用 Mockery 作为 m;$mocktest = m::m ..
发布时间:2021-09-06 18:48:15 PHP

如何通过JSON从单元测试路由?

我正在通过模拟控制器期望的存储库来对Laravel 4 Controller进行单元测试.问题出在“存储"功能上.当我对给定的控制器执行POST时,这是Laravel调用的函数.该函数被调用,但是期望 itemData 作为输入,但是我不知道该如何提供.这是我尝试过的: ItemEntryController class ItemEntryController扩展了BaseControl ..
发布时间:2021-05-28 21:20:12 其他开发

来自与测试方法相同的类的模拟方法

我有以下代码: class Foo(){ 公共函数someMethod(){ ... if($ this-> otherMethod($ lorem,$ ipsum)){ ... } ... } } 而我正在尝试测试someMethod(),我不想来测试otherMethod(),因为它非常复杂并且我有专用的测试-在这里,我只想模拟它并返回特定的值。 ..
发布时间:2020-10-04 20:02:58 PHP

使用链接的方法和参数模拟呼叫

我正在学习如何使用模拟来运行某些单元测试,而我不确定该如何模拟我的数据库类.它由可以像以下两个示例一样链接的单独方法组成: $db->select('someTblName',['fieldName']) ->where('fieldName', 'someValue') ->runQuery() ->fetch(); //returns array or null 另 ..
发布时间:2020-07-03 08:52:03 PHP

嘲笑应该接收()->一次()似乎不起作用

我试图让Mockery断言给定方法至少被调用一次. 我的考试班是: use \Mockery as m; class MyTest extends \PHPUnit_Framework_TestCase { public function testSetUriIsCalled() { $uri = 'http://localhost'; ..
发布时间:2020-07-03 07:53:58 PHP

Mockery中的重载和别名有什么区别?

我不熟悉使用嘲笑,并且对术语alias和overload感到困惑.谁能给我解释什么时候使用? 解决方案 Overload用于创建“实例模拟".当创建一个类的新实例时,它将“拦截",而将使用模拟.例如,如果要测试此代码: class ClassToTest { public function methodToTest() { $myClass = new ..
发布时间:2020-05-27 19:46:19 PHP

模拟为多个调用指定期望的参数

我正在尝试模拟一个对象,该对象获得对同一函数的两次调用,但具有不同的参数.为多次调用返回不同的返回值是很直接的,但是我在任何地方都找不到如何通过参数验证来做到这一点. 我尝试过: $this->eventDispatcher ->shouldReceive('dispatch') ->twice() ->with(Events::SELECT,\Mockery: ..
发布时间:2020-05-10 01:19:28 PHP

模拟模块不存在?

当我通过以下方法在流星应用中运行摩卡测试时: node_modules/.bin/mocha --compilers js:babel-core/register //..opts 我的被测模块要导入时出现问题: import { Meteor } from 'meteor/meteor'; 所以我试图用嘲讽来嘲笑它: mockery.enable(); moduleUn ..
发布时间:2020-05-10 01:04:50 其他开发