您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit数据库测试-没有字段的表(数据集仅表名无任何属性)
发布时间:2021-09-27 11:24:30编辑:雪饮阅读()
在phpunit中数据库测试时候前面有说过数据集guestbook-seed.xml中配置的是表与字段的关系。
那么假如guestbook-seed.xml配置如:
<?xml version="1.0" ?>
<dataset>
<guestbook />
</dataset>
<dataset>
<guestbook />
</dataset>
对就是像这样,仅有表,而没有表属性(字段),那么像是这样,此时你的数据库中假如也是没有这个对应的表,它也是会产生错误的
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\vendor\phpunit\phpunit\phpunit -c C:\Users\Administrator\PhpstormProjects\untitled\organizing\phpunit.xml C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\MyAppTestsDatabaseTestCase.php
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
E 1 / 1 (100%)
Time: 73 ms, Memory: 4.00 MB
There was 1 error:
1) MyAppTestsDatabaseTestCaseImplement::testConnect
PHPUnit\DbUnit\Operation\Exception: COMPOSITE[TRUNCATE] operation failed on query:
TRUNCATE `guestbook`
using args: Array
(
)
[SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myguestbook.guestbook' doesn't exist]
C:\Users\Administrator\PhpstormProjects\untitled\vendor\phpunit\dbunit\src\Operation\Composite.php:54
C:\Users\Administrator\PhpstormProjects\untitled\vendor\phpunit\dbunit\src\AbstractTester.php:77
C:\Users\Administrator\PhpstormProjects\untitled\vendor\phpunit\dbunit\src\TestCaseTrait.php:46
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
此时你数据库必须建立一个表,但是mysql中建立表时候字段至少有一个,不能说是拥有0个字段的空表。
那么这里至少要填写一个字段,比如id。
然后再次运行才会成功
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\vendor\phpunit\phpunit\phpunit -c C:\Users\Administrator\PhpstormProjects\untitled\organizing\phpunit.xml C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\MyAppTestsDatabaseTestCase.php
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
R 1 / 1 (100%)C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\MyAppTestsDatabaseTestCase.php:29:
class PHPUnit\DbUnit\Database\DefaultConnection#17 (2) {
protected $connection =>
class PDO#15 (0) {
}
protected $metaData =>
class PHPUnit\DbUnit\Database\Metadata\MySQL#19 (4) {
protected $schemaObjectQuoteChar =>
string(1) "`"
protected $pdo =>
class PDO#15 (0) {
}
protected $schema =>
string(11) "myguestbook"
protected $truncateCommand =>
string(8) "TRUNCATE"
}
}
Time: 66 ms, Memory: 4.00 MB
There was 1 risky test:
1) MyAppTestsDatabaseTestCaseImplement::testConnect
This test did not perform any assertions
C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\MyAppTestsDatabaseTestCase.php:27
OK, but incomplete, skipped, or risky tests!
Tests: 1, Assertions: 0, Risky: 1.
关键字词:phpunit,数据库测试