phpBB ดาวน์โหลดเวอร์ชั่นล่าสุดได้ที่ https://www.phpbb.com/downloads/
มาเข้าเรื่องกันดีกว่าเพราะหมวดนี้เป็นเรื่องของ Software Testing ก็ต้องบอกว่าโชคดีมากสำหรับนักพัฒนาระบบ phpBB เพราะมีระบบ Tests เตรียมไว้ให้แล้ว สามารถเข้าไปศึกษาได้ที่ https://wiki.phpbb.com/Automated_Tests
โฟลเดอร์ Tests ดาวน์โหลดได้ที่ https://github.com/phpbb/phpbb
วิธีการ Run https://github.com/phpbb/phpbb/blob/dev ... G_TESTS.md
สำหรับใครที่ทำได้ตามลิงค์ด้านบนมันจะแสดงผลของการทดสอบ phpBB ทั้งหมด ผ่านกี่ไฟล์ ไม่ผ่านกี่ไฟล์ มี Error ตรงไหนบ้าง แต่ต้องบอกว่าใช้เวลาพอสมควร เพราะมันทดสอบประมาณ 4,000 กว่าไฟล์ แต่สำหรับการนำไปใช้ในงานจริง ถ้าพัฒนา Extensions แล้วอยากจะทดสอบแค่เฉพาะส่วนที่ทำเท่านั้นจะทำอย่างไรดี หลังจากนั่งงมอยู่นานก็พอจะหาคำตอบได้ และคิดว่าน่าจะเป็นประโยชน์สำหรับคนที่กำลังอยากใช้ PHPUnit ใน phpBB
เริ่มต้นดาวน์โหลด phpBB มาครับ ในตัวอย่างจำลองเซิฟเวอร์ด้วย XAMPP จะแตกไฟล์ไว้ที่โฟลเดอร์ htdocs แตกไฟล์เสร็จแล้วในตัวอย่างนี้ขอตั้งชื่อโฟลเดอร์ว่า testphpbb นะครับ
ยังไม่ต้องติดตั้ง phpBB ครับ สิ่งที่ต้องใช้อีกตัวคือ โฟลเดอร์ tests จาก https://github.com/phpbb/phpbb เอาเฉพาะโฟลเดอร์ tests กับไฟล์ composer.phar มาครับมาวางในโฟลเดอร์ testphpbb ใน XAMPP Control Panel มี shell อยู่ครับ เปิด shell ขึ้นมาครับ เข้าไปในโฟลเดอร์ testphpbb แล้วพิมพ์
โค้ด: เลือกทั้งหมด
php composer.phar install --dev
โค้ด: เลือกทั้งหมด
php composer.phar update
โค้ด: เลือกทั้งหมด
git clone https://github.com/nickvergessen/phpbb-ext-acme-demo.git D:\xampp\htdocs\testphpbb\ext\acme\demo
ต่อไปจะเป็นเรื่องของการแก้ไขที่อยู่ไฟล์ให้มันสามารถใช้กับงานของเราได้
เปิดไฟล์ testphpbb\ext\acme\demo\phpunit.xml.dist ขึ้นมาแก้ไข ที่อยู่ของไฟล์ bootstrap.php ให้เหมือนในภาพ
เปิดไฟล์ในโฟลเดอร์ tests/test_framework ค้นหาคำว่า phpBB แล้วลบออก เฉพาะที่เป็นการอ้างอิงที่อยู่ไฟล์
โค้ด: เลือกทั้งหมด
phpbb_database_test_connection_manager.php
phpbb_functional_test_case.php
phpbb_ui_test_case.php
ในโฟลเดอร์ tests สร้างไฟล์ test_config.php
โค้ด: เลือกทั้งหมด
<?php
// ข้อมูลสำหรับเชื่อมต่อฐานข้อมูล
$dbms = 'phpbb\db\driver\mysqli'; // ถ้าใช้ mysql ก็ใช้ตามนี้
$dbhost = 'localhost';
$dbport = '';
$dbname = 'testphpbb'; // ชื่อฐานข้อมูลที่ใช้
$dbuser = 'root'; // ชื่อผู้ใช้ฐานข้อมูล
$dbpasswd = ''; // รหัสผ่านเข้าฐานข้อมูล
$phpbb_functional_url = 'http://localhost/testphpbb/'; // url ที่เข้าใช้งาน phpbb
โค้ด: เลือกทั้งหมด
D:\xampp\htdocs\testphpbb\vendor\bin\phpunit -c D:\xampp\htdocs\testphpbb\ext\acme\demo\phpunit.xml.dist