Site Tools


codex:auto-test

Thiết lập hệ thống auto test

Bước 1. Clone kho code về.

Bước 2. Dùng composer cài đặt PHPUnit composer require –dev phpunit/phpunit ^7

Bước 3. Copy file vendor\bin\phpunit.bat thành phpunit.bat (Chạy trên window). Mở phpunit.bat sửa

/../phpunit/phpunit/phpunit

Thành

/vendor/phpunit/phpunit/phpunit

Mở CMD lên kiểm tra PHPUnit đã cài đặt thành công chưa bằng lệnh phpunit –version. Nếu kết quả là

PHPUnit 7.0.0 by Sebastian Bergmann and contributors.

Tức đã thành công.

Bước 4. Copy file tests-config-sample.php thành tests-config.php. Tạo một CSDL để test sau đó mở file tests-config.php chỉnh sửa thông số

define('NV_DB_TESTS_DBNAME', 'nv4_test');
define('NV_DB_TESTS_DBUNAME', 'root');
define('NV_DB_TESTS_DBPASS', '');

Và các thông số khác nếu cần thiết.

Bước 5. Thực hiện test: Mở CMD lên và chạy lệnh phpunit

Viết các test-case

Test case là các file php đặt vào thư mục tests/phpunit/tests. Nội dung file là một class test, extends từ class NukeViet\Test\TestCase

db.php
<?php
 
/**
 * @Project NUKEVIET 4.x
 * @Author VINADES.,JSC <contact@vinades.vn>
 * @Copyright (C) 2014 VINADES.,JSC. All rights reserved
 * @License GNU/GPL version 2 or any later version
 * @Createdate 31/05/2010, 00:36
 */
 
use \NukeViet\Test\TestCase;
 
class HelloWorld extends TestCase
{
    public function testPushAndPop()
    {
        $this->assertTrue(TRUE);
    }
 
    public function connectDB()
    {
        //
    }
}

Một số quy định của PHPUnit

  • Mỗi phương thức test phải là public và bắt đầu bằng test. Ví dụ
    public function testConnectDB()
  • Nếu không bắt đầu bằng test thì hãy sử dụng document của hàm bằng @test
  • Trong mỗi phương thức test cần sử dụng assertion methods nếu không sẽ sinh cảnh báo risky test.
  • Sử dụng phương thức setUp()tearDown() để xử lý khi bắt đầu và kết thúc test nếu cần thiết
codex/auto-test.txt · Thời điểm thay đổi: 2018/06/15 08:50 do hoaquynhtim99