在phpunit中__construct与setup之间有什么区别?
发布时间:2020-12-13 18:23:17 所属栏目:PHP教程 来源:网络整理
导读:我很想知道在测试类__construct中创建对象是好的做法,还是应该总是使用setup / teardown方法(或setUpBeforeClass / tearDownAfterClass方法)? 我知道每次测试都会调用set / teardown,如果我将objec创建代码放入其中,它会有什么用处吗?例如 //mytestclass.p
我很想知道在测试类__construct中创建对象是好的做法,还是应该总是使用setup / teardown方法(或setUpBeforeClass / tearDownAfterClass方法)?
我知道每次测试都会调用set / teardown,如果我将objec创建代码放入其中,它会有什么用处吗?例如 //mytestclass.php class MyTestClass extends PHPUnit_Framework_TestCase { private $obj; protected function setUp() { $this->obj = new FooClass(); } public testFooObj() { //assertions for $this->obj } ... } 如果我在构造函数中创建对象,可能会出现什么问题: class MyTestClass extends PHPUnit_Framework_TestCase { private $obj; protected function __construct() { $this->obj = new FooClass(); } public testFooObj() { //assertions for $this->obj } ... } 我尝试使用谷歌搜索以及PHPUnit文档无法获得太多信息,你能否帮我解读哪一个是好的做法?
在运行每个测试之前调用setUp().在实例化类时会发生__construct().因此,如果您有多个测试并且他们使用本地属性并对其进行修改,则使用setUp()可以确保在每次测试运行之前它们是相同的.与setUp()相反的是tearDown(),您可以确保在每次测试后清理测试数据.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |