phpunit code coverage (xampp+window7 32 bit)

แก้ไข php.ini ค้นหาคำว่า xDebug และแก้เป็นดังนี้ แล้ว restart apache

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 0
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"

ถ้าหากพบข้อผิดพลาดเรื่อง php5ts.dll ให้ทำดังนี้

ติดตั้ง xDebug extension ใน php/ext/ ก่อน ดาวโหลดที่นี่ http://xdebug.org/files/php_xdebug-2.2.3-5.4-vc9.dll

และแก้ไข php.ini ค้นหาคำว่า xDebug และแก้เป็นดังนี้

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 0
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"

สมมติว่าเรา develop ไฟล์ unittest เสร็จแล้ว

คำสั่งรัน code coverage
command run phpunit –coverage-html ./[output] [Targetfile_unittest]

phpunit --coverage-html ./report BankAccountTest

xdebug.profiler_enable = 0 ต้องเป็น 0 เท่านั้น ไม่งั้นทุกครั้งที่เรียกสร้าง code coverage มันจะสร้างไฟล์ profile เก็บใน tmp จะทำให้ disk หมดไวมากๆ

เราจะได้โฟลเดอ output สรุปข้อมูลการเทสของเราว่า cover code กี่% โดยมีสรุปอย่างละเอียด

Reference : https://phpunit.de/manual/current/en/code-coverage-analysis.html

Related posts:

This entry was posted in knowledge. Bookmark the permalink.