您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit断言单表状态(单表数据与单一数据集的一致性断言)
发布时间:2021-09-29 18:48:24编辑:雪饮阅读()
特意强调了单表断言而不是单纯的表状态断言,是因为此断言比单纯的表状态断言来说支持多表。
当然还有就是每次测试时候的数据基境 那么接下来单表的数据状态断言如: 这里是将上面的数据基境先在测试前入库了,然后这里其实可以将刚才入库后的guestbook表拷贝一份guestbook1,那么这里数据库中就有guestbook和guestbook1两个表了,且后者不会被销毁是固定的,前者随着上面guestbook.csv的数据结构而改变。 那么断言就失败了
<dataset>
<guestbook id="1" content="Hello buddy!" user="joe" created="2010-04-24 01:15:23" />
<guestbook id="2" content="I like it!" user="nancy" created="2010-04-25 20:14:20" />
</dataset>
1,"Hello buddy!","joe","2010-04-24 01:15:23"
2,"I like it!","nancy","2010-04-25 20:14:20"
use PHPUnit\DbUnit\DataSet\CsvDataSet;
use PHPUnit\Framework\TestCase;
use PHPUnit\DbUnit\TestCaseTrait;
class GuestbookTest extends TestCase
{
use TestCaseTrait;
static private $pdo = null;
private $conn = null;
final public function getConnection()
{
if ($this->conn === null) {
if (self::$pdo == null) {
self::$pdo = new PDO( $GLOBALS['DB_DSN'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASSWD'] );
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, $GLOBALS['DB_DBNAME']);
}
return $this->conn;
}
public function getDataSet()
{
$dataSet = new CsvDataSet();
$dataSet->addTable('guestbook', dirname(__FILE__)."/guestbook.csv");
return $dataSet;
}
public function testComplexQuery()
{
$dataSet = $this->getConnection()->createDataSet(['guestbook']);
$expectedDataSet = $this->createFlatXmlDataSet(dirname(__FILE__).'/flat.xml');
$this->assertDataSetsEqual($expectedDataSet, $dataSet);
}
}
?>
<dataset>
<guestbook id="1" content="Hello buddy!" user="joe1" created="2010-04-24 01:15:23" />
<guestbook id="2" content="I like it!" user="nancy" created="2010-04-25 20:14:20" />
</dataset>
关键字词:phpunit,单表