gpt4 book ai didi

php - 如果未调用所需的方法,Mockery/Etsy PHPExtensions 不会失败测试

转载 作者:行者123 更新时间:2023-12-02 05:11:52 25 4
gpt4 key购买 nike

我有下面的代码,我希望它在运行时失败,因为类 DoesNothing 没有使用模拟类或调用任何所需的方法。

<?php
class DoesNothing
{

}

class DoesNothingTest extends YourMockeryTestCase
{
/**
* @test
*/
public function somethingIsCalled()
{
$this->mock = Mockery::mock();

$keys = array(
'1234',
'abcxyz',
'*&(%&^$-*/~@:{}',
')*&GA^FAUIB(*',
'',
' ',
);

foreach ($keys as $key) {
$this->mock
->shouldReceive('remove')
->atLeast()->times(1)
->with($key);
}
$var = new DoesNothing($this->mock);
}
}

但是当我运行它时,它通过了。我希望它会说“未调用方法删除”等。

有什么问题吗?与 Mockery 如何与 PHPUnit 对话有关?

谢谢, 马丁

编辑:我还应该提到我们正在使用 Etsy's PHPExtensions将其集成到 PHPUnit 中

最佳答案

方法名必须以test开头,否则PHPUnit不会判断为test。

public function testSomethingIsCalled()

编辑

您必须在拆卸方法中调用 Mockery::close() 才能执行预期。即

/**
* Tear down
*/
public function tearDown()
{
\Mockery::close();
}

关于php - 如果未调用所需的方法,Mockery/Etsy PHPExtensions 不会失败测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299184/

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