...pan>{
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
...
phpunit单元测试phplaravel5 使用laravel5做单元测试时,碰到以下问题,需要测试querySessionIdTest这个方法,
但是需要mock出sessionidtest这个方法,具体代码如下:
类如下:class ZabbixSystem implements ApmSystemInterface public function querySessionIdTest() { echo 'querySessionIdTest'; return $this->sessionidtest(); } public function sessionidtest() { echo 'sessionidtest'; return 'aaa'; }}
单元测试方法:public function testQuerySessionIdSuccess() { $return = 'aaa'; $stub = Mockery::mock('mcokname');// $this->app->instance('ZabbixSystem', $stub); $stub->shouldReceive('querySessionIdTest')->andReturn($return); $response = $stub->querySessionIdTest(); $this->assertEquals('aaa', $response); } public function testQuerySession() { // 为 SomeClass 类创建桩件。 $stub = $this->getMockBuilder('App\Services\ZabbixSystem')->setMethods(array( 'querySessionIdTest', 'sessionidtest' ))->getMock(); // 配置桩件。 $stub->method('sessionidtest')->willReturn('111'); $this->app->instance('ZabbixSystem', $stub); $this->assertEquals('foo', $stub->querySessionIdTest()); }
通过两种方式进行测试,但都不成功,我希望的结果为:
echo 'querySessionIdTest';
然后测试成功
...pan>{
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
...amework": "..*"
},
"require-dev": {
"fzaninotto/faker": "~.",
"mockery/mockery": "..*",
"phpunit/phpunit": "~.",
"phpspec/phpsp
...的理念,再引入Mock技术。在开始之前,需要安装PHPUnit和Mockery库(本文不使用PHPUnit自带的Mock库): # 安装PHPUnitpear config-set auto_discover 1pear install pear.phpunit.de/PHPUnit# 安装
...的退出代码。
ATOUM
MOCKERY
Mockery 是非常简单灵活的 PHP mock 对象框架,一般用在 PHPUnit,PHPSpec 和其他的单元测试中。
PHAKE
Phake 是 PHP 框架,提供 mock 对象,双向测...
...架,是通过规范异常驱动的PHP测试框架。 Mockery Mockery是简单而灵活的PHP mock对象框架,常用在PHPUnit,PHPSpec或者其他测试框架的单元测试中。它的核心目标是提供一个双向测试框架,提供一个su...
...安装这个项目里面的包 "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "symfony/css-selector": "
...amework": "..*"
},
"require-dev": {
"fzaninotto/faker": "~.",
"mockery/mockery": "..*",
"phpunit/phpunit": "~.",
"phpspec/phpsp
... >{ "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" },
...on testQuerySessionIdSuccess() { $return = 'aaa'; $stub = Mockery::mock('mcokname');// $this->app->instance('ZabbixSystem',
...网址:https://github.com/swiftmailer/swiftmailer27、 MockeryMockery 是一个简单但灵活的PHP模拟框架,用于单元测试,支持PHPUnit、PHPSpec等测试框架。Mockery的核心目标是提供一个可以采用DSL定义模拟行为的测试框架.