【发布时间】:2021-07-18 05:26:25
【问题描述】:
使用最新的 PHPUnit,我一直在使用模拟来解决我的许多需求(例如模拟 GuzzleHttp\Client 以测试我的 api 调用方法),但我遇到了一些我还没有弄清楚如何解决的问题测试。
class Foo {
public function alpha($payload): void
{
// If some things are found in payload then...
$this->beta();
}
public function beta(): void
{
// do some stuff behind the scenes
}
}
鉴于上述示例,我想测试当特定类型的有效负载被传递到 Foo::alpha() 时,Foo::beta() 最终会被触发。如果 beta() 是某个其他对象的方法,那么我可以模拟该对象并允许将其传递给 Foo 实例并告诉它期望 beta() 触发一次,等等,但我不确定如何我可以测试这个触发器在不是同一个对象时触发。
这可能与 PHPUnit 相关吗?
【问题讨论】: