mockery相关内容
我使用 laravel (4.1) 框架,我阅读了“Laravel-testing-decoded",这是 Jeffrey Wey 的电子书. 我想测试我的模态用户和我的方法 setPasswordAttribute($password) 我的单元测试: once()->andReturn('hashed');$user = 新用户;$user->password = '食物';$t
..
..
我不熟悉使用 Mockery 并与术语 alias 和 混淆>重载.谁能给我解释一下什么时候用哪个? 解决方案 Overload 用于创建“实例模拟".当创建一个类的新实例时,这将“拦截"并且将使用模拟.例如,如果要测试此代码: class ClassToTest {公共函数methodToTest(){$myClass = new MyClass();$result = $myClas
..
我在 Laravel docs 中看到可以设置测试期望是这样的: Cache::shouldReceive('get')->一次()->with('key')->andReturn('值'); 然后我在 PHPunit docs 中看到了灵活的参数匹配可能是这样的:$this->stringContains('Something'). 但是当我编辑我的测试时: Log::shouldR
..
我使用 Laravel 已经有一段时间了,我已经阅读了很多关于依赖注入的可测试代码.在谈论 Facades 和 Mocked Objects 时,我感到困惑.我看到两种模式: class Post 扩展 Eloquent {受保护的 $guarded = array();公共静态 $rules = array();} 这是我的帖子模型.我可以运行 Post::all(); 从我的博客中获取所有
..
我的代码中有这样一行: ModelName::create($data); 其中 ModelName 只是一个 Eloquent 模型.有没有办法在单元测试中模拟这个调用?我试过: $client_mock = \Mockery::mock('Eloquent','App\Models\ModelName');$client_mock->shouldReceive('create')->wi
..
我正在尝试在控制器中正确模拟对 Eloquent 模型的链接调用.在我的控制器中,我使用依赖注入来访问模型,因此它应该很容易模拟,但是我不确定如何测试链接的调用并使其正常工作.这一切都在 Laravel 4.1 中使用 PHPUnit 和 Mockery. 控制器: textbook = $textbook;}公共函数索引(){$textbooks = $this->textbook->r
..
我需要测试我编写的某些代码在多次调用另一个类上的方法时的行为方式,其中一次调用会导致抛出异常. 我正在使用 Mockery 来模拟可能引发异常的类. 所以在我的例子中,该方法将被调用三次,我需要它在第二次抛出异常. 这是我的意图的例子,但它不起作用. $mock = \Mockery::mock();$mock->shouldReceive('fetch')->andRetur
..
我想用Mokcery模拟另一个方法中使用过的静态方法,如下: Class SomeClass{公共静态函数 methodA(){.....;自我::B();}公共静态函数methodB(){做点什么}} 如果我想模拟methodB,而使用methodA,mock函数不起作用,只是因为methodA中使用了methodB,如下 使用 Mockery 作为 m;$mocktest = m::m
..
我正在通过模拟控制器期望的存储库来对Laravel 4 Controller进行单元测试.问题出在“存储"功能上.当我对给定的控制器执行POST时,这是Laravel调用的函数.该函数被调用,但是期望 itemData 作为输入,但是我不知道该如何提供.这是我尝试过的: ItemEntryController class ItemEntryController扩展了BaseControl
..
我的代码中有这样一行: ModelName :: create($ data); 其中ModelName只是 Eloquent 模型。有没有办法在单元测试中模拟此调用?我试过了: $ client_mock = \Mockery :: mock('Eloquent','App\Models\ModelName '); $ client_mock-> shou
..
我有以下代码: class Foo(){ 公共函数someMethod(){ ... if($ this-> otherMethod($ lorem,$ ipsum)){ ... } ... } } 而我正在尝试测试someMethod(),我不想来测试otherMethod(),因为它非常复杂并且我有专用的测试-在这里,我只想模拟它并返回特定的值。
..
我正在学习如何使用模拟来运行某些单元测试,而我不确定该如何模拟我的数据库类.它由可以像以下两个示例一样链接的单独方法组成: $db->select('someTblName',['fieldName']) ->where('fieldName', 'someValue') ->runQuery() ->fetch(); //returns array or null 另
..
我试图让Mockery断言给定方法至少被调用一次. 我的考试班是: use \Mockery as m; class MyTest extends \PHPUnit_Framework_TestCase { public function testSetUriIsCalled() { $uri = 'http://localhost';
..
具有此代码
..
我想模拟一个静态方法,该方法已在使用Mokcery的另一种方法中使用,如下所示: Class SomeClass { public static function methodA() { .....; self::B(); } public static function methodB() { Do SomeThing }
..
我不熟悉使用嘲笑,并且对术语alias和overload感到困惑.谁能给我解释什么时候使用? 解决方案 Overload用于创建“实例模拟".当创建一个类的新实例时,它将“拦截",而将使用模拟.例如,如果要测试此代码: class ClassToTest { public function methodToTest() { $myClass = new
..
我正在尝试模拟一个对象,该对象获得对同一函数的两次调用,但具有不同的参数.为多次调用返回不同的返回值是很直接的,但是我在任何地方都找不到如何通过参数验证来做到这一点. 我尝试过: $this->eventDispatcher ->shouldReceive('dispatch') ->twice() ->with(Events::SELECT,\Mockery:
..
当我通过以下方法在流星应用中运行摩卡测试时: node_modules/.bin/mocha --compilers js:babel-core/register //..opts 我的被测模块要导入时出现问题: import { Meteor } from 'meteor/meteor'; 所以我试图用嘲讽来嘲笑它: mockery.enable(); moduleUn
..
我正在使用 mocha,enzy,chai 和一些模拟库来使测试成为可能.因此, TestComponent.js 的内容如下,我配置了存储并将其传递给提供程序,而 DeskScreen 是连接的组件: import mockery from "mockery"; import 'babel-polyfill'; import reactNativeSvgMock from "react-n
..