php 单元测试 phpunit ,如何mock类调用自身的方法?

WBOY
Freigeben: 2016-06-02 11:31:24
Original
1910 Leute haben es durchsucht

phpunit单元测试phplaravel5

使用laravel5做单元测试时,碰到以下问题,需要测试querySessionIdTest这个方法,
但是需要mock出sessionidtest这个方法,具体代码如下:
类如下:

<code>class ZabbixSystem implements ApmSystemInterface      public function querySessionIdTest()    {        echo 'querySessionIdTest';        return $this->sessionidtest();    }    public function sessionidtest()    {        echo 'sessionidtest';        return 'aaa';    }}</code>
Nach dem Login kopieren

单元测试方法:

<code>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());    }</code>
Nach dem Login kopieren

通过两种方式进行测试,但都不成功,我希望的结果为:
echo 'querySessionIdTest';
然后测试成功

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!