【发布时间】:2019-06-14 05:11:23
【问题描述】:
这是一个使用setUp 和tearDown 方法的简化测试:
class FooTest extends TestCase
{
private $dbFile;
public function setUp()
{
$this->dbFile = 'test.db';
if (!file_exists($this->dbFile)) {
$pdo = new \PDO('sqlite:'.$this->dbFile);
$pdo->query('
CREATE TABLE `Users` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`foo` TEXT
)');
}
}
public function tearDown()
{
if (file_exists($this->dbFile))
unlink($this->dbFile);
}
public function testFoo()
{
// ...
}
}
这在理论上看起来不错,但我收到了 unlink(test.db): Text file busy 错误。
关于如何正确删除 PHPUnit 中 tearDown() 方法上的 sqlite DB 的任何想法?
【问题讨论】:
标签: php sqlite unit-testing phpunit