ติดตั้ง PHPUnit ร่วมกับ Netbeans และ error unrecognized option --run
error unrecognized option --run นี้ผมเจอเมื่อมีการใช้ PHPUnit บน Netbeans 8.0.2 จริงๆแล้วก่อนหน้านี้มันก็เคยใช้ได้ปกตินะครับ แต่พอติดตั้งใหม่อีกครั้งกลับเจอปัญหานี้
การติดตั้ง PHPUnit ตามปกติใช้คำสั่งดังนี้ครับ (บน Linux นะครับ)
การติดตั้งตามด้านบนจะได้เวอร์ชั่นล่าสุดที่เสถียรมา (ตอนที่เขียนบทความนี้ คือ 4.8.4) ซึ่งจากการทดสอบการใช้งาน PHPUnit แบบ command line ก็ไม่พบความผิดปกติใดๆครับ แต่เมื่อนำ PHPUnit ไปใช้งานร่วมกับ Netbeans กลับมี error unrecognized option --run
การแก้ปัญหาเบื้องต้นของผมใช้วิธีอัปเกรดเป็นเวอร์ชันล่าสุดครับ ซึ่งผมนำมาจาก github โดยตรง
เลือกเมนู Team => Remote => Clone บนเมนูของ Netbeans ในช่อง Repository URL กรอก URL https://github.com/sebastianbergmann/phpunit.git ลงไป ซึ่งผมได้เวอร์ชั่น 5.1 (beta) มา
หลังจากโคลนมาแล้วเราจะยังไม่สามารถใช้งานได้ทันที เราจำเป็นต้องติดตั้งโค้ดที่จำเป็นก่อนด้วย composer
การนำไปใช้ร่วมกันกับ Netbeans เลือกเมนู Tools => Options เลือก Tab Frameworks & Tools และเลือก PHPUnit ในช่อง PHPUnit Script ให้ Browse ไปยังไฟล์ phpunit ที่อยู่ในโฟลเดอร์ของ PHPUnit ที่โคลนมา (ตามตัวอย่าง ติดตั้ง phpunit ไว้ที่ /mnt/Server/htdocs/phpunit/) การอัปเกรดเป็น 5.1 ไม่ทำให้ error ข้างต้นหมดไป ผมเลยตัดสินใจดาวน์เกรดแทน
ก่อนอื่นถ้ายังไม่ได้สร้าง Project ของ PHPUnit ผมแนะนำให้สร้างก่อนนะครับ (โดยปกติเมื่อทำการโคลนเสร็จ จะมีคำถามว่าจะสร้าง Project หรือไม่อยู่แล้ว) จากนั้นคลิกขวาที่ Project PHPUnit เลือกไปที่ Git => Repository => Repository Browser เลือกไปยัง Tags เวอร์ชั่น 4.7.7 ใน Repository Browser ครับ ซึ่ง Netbeans จะทำการโคลนเวอร์ชั่นที่เลือกมาแทนที่ ซึ่งผลจากการทดสอบ เวอร์ชั่น 4.7.7 สามารถใช้งานได้เป็นปกติครับ
การติดตั้ง PHPUnit ตามปกติใช้คำสั่งดังนี้ครับ (บน Linux นะครับ)
wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit
การติดตั้งตามด้านบนจะได้เวอร์ชั่นล่าสุดที่เสถียรมา (ตอนที่เขียนบทความนี้ คือ 4.8.4) ซึ่งจากการทดสอบการใช้งาน PHPUnit แบบ command line ก็ไม่พบความผิดปกติใดๆครับ แต่เมื่อนำ PHPUnit ไปใช้งานร่วมกับ Netbeans กลับมี error unrecognized option --run
การแก้ปัญหาเบื้องต้นของผมใช้วิธีอัปเกรดเป็นเวอร์ชันล่าสุดครับ ซึ่งผมนำมาจาก github โดยตรง
เลือกเมนู Team => Remote => Clone บนเมนูของ Netbeans ในช่อง Repository URL กรอก URL https://github.com/sebastianbergmann/phpunit.git ลงไป ซึ่งผมได้เวอร์ชั่น 5.1 (beta) มา
หลังจากโคลนมาแล้วเราจะยังไม่สามารถใช้งานได้ทันที เราจำเป็นต้องติดตั้งโค้ดที่จำเป็นก่อนด้วย composer
cd /path/to/phpunit
composer install
การนำไปใช้ร่วมกันกับ Netbeans เลือกเมนู Tools => Options เลือก Tab Frameworks & Tools และเลือก PHPUnit ในช่อง PHPUnit Script ให้ Browse ไปยังไฟล์ phpunit ที่อยู่ในโฟลเดอร์ของ PHPUnit ที่โคลนมา (ตามตัวอย่าง ติดตั้ง phpunit ไว้ที่ /mnt/Server/htdocs/phpunit/) การอัปเกรดเป็น 5.1 ไม่ทำให้ error ข้างต้นหมดไป ผมเลยตัดสินใจดาวน์เกรดแทน
ก่อนอื่นถ้ายังไม่ได้สร้าง Project ของ PHPUnit ผมแนะนำให้สร้างก่อนนะครับ (โดยปกติเมื่อทำการโคลนเสร็จ จะมีคำถามว่าจะสร้าง Project หรือไม่อยู่แล้ว) จากนั้นคลิกขวาที่ Project PHPUnit เลือกไปที่ Git => Repository => Repository Browser เลือกไปยัง Tags เวอร์ชั่น 4.7.7 ใน Repository Browser ครับ ซึ่ง Netbeans จะทำการโคลนเวอร์ชั่นที่เลือกมาแทนที่ ซึ่งผลจากการทดสอบ เวอร์ชั่น 4.7.7 สามารถใช้งานได้เป็นปกติครับ