PHPUnit 数据库测试。固定装置没有设置?

标签 php mysql unit-testing phpunit database-testing

这篇文章于 7 月 17 日下午 1:35 UTC+8 更新

我有类似的东西

require_once 'PHPUnit/Extensions/Database/TestCase.php';

class TestTest extends PHPUnit_Extensions_Database_TestCase {
    public function getConnection() {
        $pdo = new \PDO('mysql:host=localhost;dbname=jm_test', 'root', 'jm123');
        return $this->createDefaultDBConnection($pdo, 'jm_test');
    }   

    public function getDataSet() {
        return $this->createXMLDataSet(TEST_DIR . '/Fixtures/test.xml');
    }

    public function testRowCount() {
        $this->assertGreaterThan(0, $this->getConnection()->getRowCount('test'));
    }
}

夹具(test.xml)

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <table name="test">
        <column>id</column>
        <column>key</column>
        <column>value</column>
    </table>
    <row>
        <value>1</value>
        <value>Key 1</value>
        <value>Value 1</value>
    </row>
    ...
</dataset>

我的行数总是为 0,这是为什么?

最佳答案

我发现了我的错误:我应该移动 <row> <table> 内的元素元素

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <table name="test">
        <column>id</column>
        <column>key</column>
        <column>value</column>
        <row>
            <value>1</value>
            <value>Key 1</value>
            <value>Value 1</value>
        </row>
        ...
    </table>
</dataset>

关于PHPUnit 数据库测试。固定装置没有设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6675204/

相关文章:

php - axios 和 vuex 正在删除数组中错误的索引

c++ - 如何在 C++ 中编写单元测试?

c++ - 在 Visual C++ 2015 中使用 Catch2

javascript - PHP 循环包括一些 JavaScript

PHP foreach 数组获得前 9 个结果,然后获得第二个 9

mysql - SQL 查询的正确连接查询

java - 莫基托 : mock() calls real method

javascript - 使用 PHP 在数据库中存储动态创建元素的 HTML

php - 讨厌 reCAPTCHA - CakePHP 验证码替代品?

Mysql数据选择特定价格范围、产品限制和其他过滤