nukeviet5: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áorisky test
. - Sử dụng phương thức
setUp()
vàtearDown()
để xử lý khi bắt đầu và kết thúc test nếu cần thiết
nukeviet5/codex/auto-test.txt · Sửa đổi lần cuối: 2020/02/22 07:24 bởi hoaquynhtim99