gpt4 book ai didi

Phpunit 只模拟测试类中的一种方法 - 使用 Mockery

转载 作者:行者123 更新时间:2023-12-03 15:57:49 43 4
gpt4 key购买 nike

我从一周开始学习 phpunit。我不知道如何只模拟测试类中的一种方法。 (这只是示例,所以我没有写命名空间)。也许你可以帮助我

class SomeService
{
public function firstMethod()
{
return 'smth';
}
public function secondMethd()
{
return $this->firstMethod() . ' plus some text example';
}
}

并测试:
class SomeServiceUnitTest extends TestCase
{
private $someService;

public function setUp()
{
parent::setUp();
$this->someService = new SomeService();
}

public function tearDown()
{
$this->someService = null;
parent::tearDown();
}

public function test_secondMethod()
{
$mock = Mockery::mock('App\Services\SomeService');
$mock->shouldReceive('firstMethod')->andReturn('rerg');
exit($this->walletService->secondMethd());
}
}

最佳答案

您可以使用 partial mocks ,作为您的测试类的示例,您可以执行以下操作:

public function test_secondMethod()
{
$mock = Mockery::mock('App\Services\SomeService')->makePartial();
$mock->shouldReceive('firstMethod')->andReturn('rerg');
$this->assertEquals('rerg plus some text example', $mock->secondMethd());
}

希望这有帮助

关于Phpunit 只模拟测试类中的一种方法 - 使用 Mockery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47771448/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com