Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

<?php

namespace Tests\App\Blog\Table;

use App\Blog\Entity\Post;
use App\Blog\Table\PostTable;
use Tests\DatabaseTestCase;

class PostTableTest extends DatabaseTestCase
{

    /**
     * @var PostTable
     */
    private $postTable;

    public function setUp()
    {
        parent::setUp();
        $this->postTable = new PostTable($this->pdo);
    }

    public function testFind()
    {
        $this->seedDatabase();
        $post = $this->postTable->find(1);
        $this->assertInstanceOf(Post::class, $post);
    }

    public function testFindNotFoundRecord()
    {
        $post = $this->postTable->find(1);
        $this->assertNull($post);
    }

    public function testUpdate()
    {
        $this->seedDatabase();
        $this->postTable->update(1, ['name' => 'Salut', 'slug' => 'demo']);
        $post = $this->postTable->find(1);
        $this->assertEquals('Salut', $post->name);
        $this->assertEquals('demo', $post->slug);
    }

    public function testInsert()
    {
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $post = $this->postTable->find(1);
        $this->assertEquals('Salut', $post->name);
        $this->assertEquals('demo', $post->slug);
    }

    public function testDelete()
    {
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $count = $this->pdo->query('SELECT COUNT(id) FROM posts')->fetchColumn();
        $this->assertEquals(2, (int) $count);
        $this->postTable->delete($this->pdo->lastInsertId());
        $count = $this->pdo->query('SELECT COUNT(id) FROM posts')->fetchColumn();
        $this->assertEquals(1, (int)$count);
    }
}
<?php

namespace Tests\App\Blog\Table;

use App\Blog\Entity\Post;
use App\Blog\Table\PostTable;
use Tests\DatabaseTestCase;

class PostTableTest extends DatabaseTestCase
{

    /**
     * @var PostTable
     */
    private $postTable;

    public function setUp()
    {
        parent::setUp();
        $this->postTable = new PostTable($this->pdo);
    }

    public function testFind()
    {
        $this->seedDatabase();
        $post = $this->postTable->find(1);
        $this->assertInstanceOf(Post::class, $post);
    }

    public function testFindNotFoundRecord()
    {
        $post = $this->postTable->find(1);
        $this->assertNull($post);
    }

    public function testUpdate()
    {
        $this->seedDatabase();
        $this->postTable->update(1, ['name' => 'Salut', 'slug' => 'demo']);
        $post = $this->postTable->find(1);
        $this->assertEquals('Salut', $post->name);
        $this->assertEquals('demo', $post->slug);
    }

    public function testInsert()
    {
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $post = $this->postTable->find(1);
        $this->assertEquals('Salut', $post->name);
        $this->assertEquals('demo', $post->slug);
    }

    public function testDelete()
    {
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $this->postTable->insert(['name' => 'Salut', 'slug' => 'demo']);
        $count = $this->pdo->query('SELECT COUNT(id) FROM posts')->fetchColumn();
        $this->assertEquals(2, (int) $count);
        $this->postTable->delete($this->pdo->lastInsertId());
        $count = $this->pdo->query('SELECT COUNT(id) FROM posts')->fetchColumn();
        $this->assertEquals(1, (int)$count);
    }
}

Ce que je veux

Je voudrais que ces deux tests fonctionnent correctement. Quelqu'un m'aider à comprendre ce qui se passe. Merci par avance.

Ce que j'obtiens

root@debian:/var/www/monFramework# ./vendor/bin/phpunit
PHPUnit 7.1.1 by Sebastian Bergmann and contributors.

......F............ 19 / 19 (100%)

Time: 1.06 seconds, Memory: 10.00MB

There was 1 failure:

1) Tests\App\Blog\Table\PostTableTest::testDelete
Failed asserting that 2431 matches expected 1.

/var/www/monFramework/tests/Blog/Table/PostTableTest.php:63

FAILURES!
Tests: 19, Assertions: 27, Failures: 1.
root@debian:/var/www/monFramework# ./vendor/bin/phpunit
PHPUnit 7.1.1 by Sebastian Bergmann and contributors.

...F..F............ 19 / 19 (100%)

Time: 1.11 seconds, Memory: 10.00MB

There were 2 failures:

1) Tests\App\Blog\Table\PostTableTest::testFindNotFoundRecord
Failed asserting that App\Blog\Entity\Post Object &000000006ebf495e0000000028acb5d2 (
'id' => '1'
'name' => 'Salut'
'slug' => 'demo'
'content' => 'Nulla non veniam aut et ad enim. Dolores quod nobis sit molestiae vel sunt. Expedita labore et deserunt nemo voluptas id possimus vero. Natus eius sit velit maiores quidem non officiis. Ut ut voluptas sint tenetur mollitia. Commodi excepturi illum voluptas doloremque ut impedit. Assumenda ipsam illum totam aut eos quas optio voluptatem. Voluptate sit assumenda minima qui rerum qui. Ipsum est sint perspiciatis. Asperiores dignissimos nisi dolor. Hic reprehenderit non eos officiis enim. Reiciendis rerum voluptatum tempora nisi consequatur et rem aperiam. Ducimus sit veniam vero qui suscipit. Libero eos cum error ea similique enim. Voluptas nihil quas dicta ea quia culpa. Nobis commodi quas perspiciatis nobis quibusdam. Quae cum non mollitia tempore. Quia atque voluptatum sequi quia. Exercitationem vitae reiciendis quisquam et minus. Optio aut aut eligendi qui assumenda. Vel aliquam vero sed animi illum eveniet eum. Minima qui ea sed dolorum et. Nesciunt nam in voluptatum corrupti ut. Veniam doloremque labore voluptatem ducimus recusandae eius. Corrupti laboriosam cupiditate inventore eaque. Vero quae amet voluptas. Nesciunt odit excepturi nihil minus eum quis aliquam. Aut omnis est est id. Sequi quo natus ipsum veniam exercitationem. Maxime dolor dicta molestiae nihil. Molestiae est officiis architecto ut officiis iste voluptatem. Reiciendis ut rerum consequuntur sunt illum ut. Placeat aperiam minima aut libero. Qui vel dolor velit qui debitis. Est accusantium ipsa autem sit. Veniam dolorum voluptatum rerum quia soluta maxime aut odit. Eum fuga et praesentium consectetur expedita. Nostrum libero consequatur qui quasi. Consequatur tempore aut velit aliquam et consectetur. Adipisci id aut debitis tempore eligendi consectetur sit. Incidunt occaecati nesciunt harum et alias adipisci. Et et tempore repellendus doloribus. Porro sed eveniet excepturi et quia ab autem. Eum necessitatibus sed esse aperiam enim veritatis. Magnam occaecati quia architecto tempora odio in doloribus. Rem et quidem illum sint. Odio minus laborum perferendis et. Quidem corporis earum qui expedita. Aliquam est deserunt magnam eius aspernatur qui. Et dolores beatae dicta quibusdam corrupti assumenda quia. Hic porro et nesciunt consequatur dolore quidem impedit cupiditate. Labore quae exercitationem et. Quia dolorum earum pariatur ipsam corrupti. Optio rerum molestias qui dolor et eum in. Perferendis cum enim quidem nihil aut saepe aut. Qui autem et laborum facilis perspiciatis. Ut sit modi ea eius. Est est a ratione recusandae aliquid quis. Porro sed sed repellendus iusto. Neque cupiditate tenetur iste voluptate et voluptatem. Omnis in perferendis officia cum quis consectetur quo. Ratione ipsum voluptates quae. Nisi eaque rerum modi facere ratione exercitationem ea. Illo voluptatibus voluptatem sed libero ut dolorum in. Et laboriosam quidem nobis qui optio. Consectetur illo et illum qui occaecati. Animi amet dolorum ipsum quis velit.'
'created_at' => DateTime Object &000000006ebf495f0000000028acb5d2 (
'date' => '2013-03-30 11:20:32.000000'
'timezone_type' => 3
'timezone' => 'UTC'
)
'updated_at' => DateTime Object &000000006ebf49580000000028acb5d2 (
'date' => '2013-03-30 11:20:32.000000'
'timezone_type' => 3
'timezone' => 'UTC'
)
) is null.

/var/www/monFramework/tests/Blog/Table/PostTableTest.php:34

2) Tests\App\Blog\Table\PostTableTest::testDelete
Failed asserting that 2634 matches expected 2.

/var/www/monFramework/tests/Blog/Table/PostTableTest.php:59

FAILURES!
Tests: 19, Assertions: 27, Failures: 2.

Aucune réponse