Phpunit 面对setMethods()的弃用,重写测试类的权威指南在哪里?
Phpunit 面对setMethods()的弃用,重写测试类的权威指南在哪里?,phpunit,Phpunit,MockBuilder::setMethods()method在8.3中被弃用,但文档中的示例仍然使用它,我在任何地方都找不到明确的迁移指南。有人存在吗 出于对您可能花在编写答案上的时间的尊重:归结为“继续使用setMethods(),它仍然有效”的答案将不被接受。setMethods()自今已被弃用 目前,文档已经过时,但我想它们很快就会被修复。要回答您关于setMethods的问题,它已被两个新函数替换 唯一方法 添加方法 示例 旧代码可能是这样的 $merchant = $this
MockBuilder::setMethods()
method在8.3中被弃用,但文档中的示例仍然使用它,我在任何地方都找不到明确的迁移指南。有人存在吗
出于对您可能花在编写答案上的时间的尊重:归结为“继续使用setMethods()
,它仍然有效”的答案将不被接受。setMethods()
自今已被弃用
目前,文档已经过时,但我想它们很快就会被修复。要回答您关于setMethods
的问题,它已被两个新函数替换
- 唯一方法
- 添加方法
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->setMethods(['getLegalEntity'])
->getMock();
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->addMethods(['getLegalEntity'])
->getMock();
现在应该是这样的
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->setMethods(['getLegalEntity'])
->getMock();
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->addMethods(['getLegalEntity'])
->getMock();
额外信息
我没有找到最终的迁移指南,但自从我最近
必须从旧的phpunit 4.x
迁移到新的phpunit 8.4
以下是您可以遵循的提示
已替换为PHPUnit\u Framework\u TestCase
PHPUnit\Framework\TestCase
已替换为PHPUnit\u Framework\u MockObject\u MockObject
PHPUnit\Framework\MockObject\MockObject
已被删除。因此,替代方法是->getMock
,->createMock()
或createPartialMock
->getMockBuilder()->getMock()
- 像
setUp
,setUpBeforeClass
等函数现在需要定义tearDown
返回类型::void
已被弃用,对于已经存在的方法,应将其替换为mockObject->setMethods
;对于类上确实存在的方法,应将其替换为onlyMethod
addMethods
- docblock中的
已被弃用,并且@expectedException
已被删除$this->setExpectedException
setMethods()
从现在起已被弃用
目前,文档已经过时,但我想它们很快就会被修复。要回答您关于setMethods
的问题,它已被两个新函数替换
- 唯一方法
- 添加方法
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->setMethods(['getLegalEntity'])
->getMock();
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->addMethods(['getLegalEntity'])
->getMock();
现在应该是这样的
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->setMethods(['getLegalEntity'])
->getMock();
$merchant = $this->getMockBuilder('\Fake\FakeMerchant')
->addMethods(['getLegalEntity'])
->getMock();
额外信息
我没有找到最终的迁移指南,但自从我最近
必须从旧的phpunit 4.x
迁移到新的phpunit 8.4
以下是您可以遵循的提示
已替换为PHPUnit\u Framework\u TestCase
PHPUnit\Framework\TestCase
已替换为PHPUnit\u Framework\u MockObject\u MockObject
PHPUnit\Framework\MockObject\MockObject
已被删除。因此,替代方法是->getMock
,->createMock()
或createPartialMock
->getMockBuilder()->getMock()
- 像
setUp
,setUpBeforeClass
等函数现在需要定义tearDown
返回类型::void
已被弃用,对于已经存在的方法,应将其替换为mockObject->setMethods
;对于类上确实存在的方法,应将其替换为onlyMethod
addMethods
- docblock中的
已被弃用,并且@expectedException
已被删除$this->setExpectedException