gpt4 book ai didi

PhpSpec 内置函数异常测试

转载 作者:行者123 更新时间:2023-11-28 21:05:19 28 4
gpt4 key购买 nike

我决定使用 BDD 工作流编写简单的 MVC。我想实现设置类的某些属性的方法。这件事与文件路径有关。在这种方法中,我想检查路径是否正确以及该文件是否存在。最终产品应如下所示:

<?php
class SomeClass
{
public function setProperty($property_value)
{
if (!file_exists($property_value)) {
throw new CustomFileNotFoundException();
}
$this->someProperty = $property_value;
}
}

我应该如何在 PhpSpec 中实现测试方法(示例)?我不想在规范测试中创建“虚拟”文件,我确定有一些模拟/stab 方法,但我不知道如何处理这个......我只是想检查这个属性是否是正在设置。
我应该为文件系统创建单独的中间层然后模拟它吗?感谢您的帮助!

最佳答案

我可以在这里看到三个选项。前两个你自己已经弄清楚了;)

您可以创建和删除“虚拟”文件或为文件系统操作注入(inject)协作者模拟(查看 Symfony 的 Filesystem component)。

第三个选项是为虚拟文件系统使用流包装器,例如 vfsStream .这是对其工作原理的一个很好的解释:https://github.com/mikey179/vfsStream/wiki/Example

关于PhpSpec 内置函数异常测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19082518/

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