脚本宝典收集整理的这篇文章主要介绍了PHPUnit存根:来自map的默认返回值,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP require_once 'SomeClass.PHP'; class Stubtest extends PHPUnit_Framework_TestCase { public function testReturnValueMapStub() { // Create a stub for the SomeClass class. $stub = $this->getMockBuilder('SomeClass') ->getMock(); // Create a map of arguments to return values. $map = array( array('a','b','c','d'),array('e','f','g','h') ); // Configure the stub. $stub->method('doSomething') ->will($this->returnValueMap($map)); // $stub->doSomething() returns different values dePEnding on // the PRovided arguments. $this->assertEquals('d',$stub->doSomething('a','c')); $this->assertEquals('h',$stub->doSomething('e','g')); } } ?>
<?PHP require_once 'SomeClass.PHP'; class StuBTest extends PHPUnit_Framework_TestCase { public function testReturnValueMapStub() { // Create a stub for the SomeClass class. $stub = $this->getMockBuilder( 'SomeClass' ) ->getMock(); // Create a map of arguments to return values. $valueMap = array( array( 'a','d' ),array( 'e','h' ) ); $default = 'l'; // Configure the stub. $stub->method( 'doSomething' ) ->will( $this->returnCallback( function () use ( $valueMap,$default ) { $arguments = func_get_args(); $parameterCount = count( $arguments ); foreach( $valueMap as $map ) { if( !is_array( $map ) || $parameterCount != count( $map ) - 1 ) { continue; } $return = array_pop( $map ); if( $arguments === $map ) { return $return; } } return $default; } ) ); // $stub->doSomething() returns different values depending on // the provided arguments. $this->assertEquals( 'd',$stub->doSomething( 'a','c' ) ); $this->assertEquals( 'h',$stub->doSomething( 'e','g' ) ); $this->assertEquals( 'l',$stub->doSomething( 'i','j','k' ) ); $this->assertEquals( 'l',$stub->doSomething( 'any','arguments','at','all' ) ); } }
以上是脚本宝典为你收集整理的PHPUnit存根:来自map的默认返回值全部内容,希望文章能够帮你解决PHPUnit存根:来自map的默认返回值所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。