亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使 PHPUnit 模擬在調用未配置的方法時失???

當在模擬對象上調用任何未配置的方法時,PHPUnit 是否可能失敗?例子;$foo = $this->createMock(Foo::class);$foo->expects($this->any())->method('hello')->with('world');$foo->hello('world');$foo->bye();這個測試會成功。我希望它失敗Foo::bye() was not expected to be called. PS以下將起作用,但這意味著我必須在回調中列出所有配置的方法。這不是一個合適的解決方案。$foo->expects($this->never())    ->method($this->callback(fn($method) => $method !== 'hello'));
查看完整描述

1 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

這是通過禁用自動返回值生成來完成的。


$foo = $this->getMockBuilder(Foo::class)

    ->disableAutoReturnValueGeneration()

    ->getMock();


$foo->expects($this->any())->method('hello')->with('world');


$foo->hello('world');

$foo->bye();

這將導致


Return value inference disabled and no expectation set up for Foo::bye()

請注意,其他方法(如 )不需要hello定義返回方法。


查看完整回答
反對 回復 2022-07-16
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號