Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengejek PDO dengan phpunit

Anda tidak perlu mengejek PDO. Berikut contoh cara kerjanya:

ConnectionTest.php:

<?php

class ConnectionTest extends PHPUnit_Extensions_Database_TestCase
{
    public function getConnection()
    {
        $database = 'myguestbook';
        $user = 'root';
        $password = '';
        $pdo = new PDO('mysql:host=localhost;dbname=myguestbook', $user, $password);
        $pdo->exec('CREATE TABLE IF NOT EXISTS guestbook (id int, content text, user text, created text)');
        return $this->createDefaultDBConnection($pdo, $database);
    }

    public function getDataSet()
    {
        return $this->createFlatXMLDataSet(__DIR__.'/dataSets/myFlatXmlFixture.xml');
    }

    public function testGetRowCount()
    {
        $this->assertEquals(2, $this->getConnection()->getRowCount('guestbook'));
    }
}

myFlatXmlFixture.xml

<?xml version="1.0" ?>
<dataset>
    <guestbook id="1" content="Hello buddy!" user="joe" created="2010-04-24 17:15:23" />
    <guestbook id="2" content="I like it!" user="nancy" created="2010-04-26 12:14:20" />
</dataset>

Hasil:

PHPUnit 4.7.6 by Sebastian Bergmann and contributors.

.

Time: 215 ms, Memory: 5.25Mb

OK (1 test, 1 assertion)

Poin utama dalam pengujian terhadap db adalah jangan mengejek db tetapi juga membuat koneksi PDO yang benar-benar sama bukan ke db produksi tetapi ke db untuk pengujian, bisa berupa mysql, sqlite dll...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan pivot MySQL

  2. Bagaimana saya bisa memasukkan file besar di MySQL db menggunakan PHP?

  3. Bagaimana cara menggemakan baris acak dari database?

  4. Kelompokkan keluaran SHOW COLUMNS ke dalam daftar yang dipisahkan koma

  5. Mengenkripsi Lalu Lintas MySQL Dalam Skrip