Phpunit kullanarak PDO Object alaycı

0 Cevap php

Ben zorluk PHPUnit ile PDO nesnesi alaycı yaşıyorum.

Benim sorun hakkında ama ben kimden ne toplayabilir web üzerinde çok bilgi var gibi görünüyor değil:

  1. PDO has 'final' __wakeup and __sleep methods that prevent it from being serialised.
  2. Phpunit en alay nesne uygulanması noktada nesneyi serialises.
  3. Ünite testleri sonra bu gerçekleştiğinde PDO tarafından oluşturulan bir PHP hatası ile başarısız.

Birim test aşağıdaki satırı ekleyerek, bu davranışı önlemek amacıyla bir özelliği yoktur:

class MyTest extends PHPUnit_Framework_TestCase

{    
    protected $backupGlobals = FALSE;
     // ...

}

Source: http://sebastian-bergmann.de/archives/797-Global-Variables-and-PHPUnit.html

Bu çalışma için beni değil, benim test yine bir hata üretir.

Tam test kodu:

class MyTest extends PHPUnit_Framework_TestCase
{

    /**
     * @var MyTest
     */
    private $MyTestr;

    protected $backupGlobals = FALSE;

    /**
     * Prepares the environment before running a test.
     */
    protected function setUp()
    {
        parent::setUp();

    }

    /**
     * Cleans up the environment after running a test.
     */
    protected function tearDown()
    {

        parent::tearDown();
    }

    public function __construct()
    {

        $this->backupGlobals = false;
        parent::__construct();

    }


    /**
     * Tests MyTest->__construct()
     */
    public function test__construct()
    {

        $pdoMock = $this->getMock('PDO', array('prepare'), array(), '', false);

        $classToTest = new MyTest($pdoMock);

        // Assert stuff here!


    }

    // More test code.......

Herhangi PHPUnit bana bir elini ver pro?

Teşekkürler,

Ben

0 Cevap