Unittest là gì? Cách Triển khai Unitesting với PHPUnit trên Netbeans

Unit Test là kỹ thuật kiểm nghiệm các hoạt động của mọi chi tiết mã (code) với một quy trình tách biệt với quy trình phát triển PM, giúp phát hiện sai sót kịp thời. Unit Test còn có thể giúp phát hiện các vấn đề tiềm ẩn và các lỗi thời gian thực ngay cả trước khi chuyên viên kiểm định chất lượng (QA – Quality Assurance) tìm ra, thậm chí có thể sửa lỗi ngay từ ý tưởng thiết kế.

Unit Test là các đoạn mã có cấu trúc giống như các đối tượng được xây dựng để kiểm tra từng bộ phận trong hệ thống. Mỗi Unit Test sẽ gửi đi một thông điệp và kiểm tra câu trả lời nhận được đúng hay không, bao gồm Các kết quả trả về mong muốn và Các lỗi ngoại lệ mong muốn.

Các đoạn mã Unit Test  hoạt động liên tục hoặc định kỳ để thăm dò và phát hiện các lỗi kỹ thuật trong suốt quá trình phát triển, do đó Unit Test còn được gọi là kỹ thuật kiểm nghiệm tự động. Unit Test  đóng vai trò như những người sử dụng đầu tiên của hệ thống và chỉ có giá trị khi chúng có thể phát hiện ra các vấn đề tiềm ẩn hoặc lỗi kỹ thuật.

Hướng dẫn triển khai Unit Testing với framework PHPUnit trên Netbeans?

I. Cài đăt

  1. Cài Xampp
  2. Nhấn phím WINDOWS + X > chọn phím A để bật command với chế độ Administrator

    image002

  3. Chuyển đến thư mục chứa PHP trong Xampp gõ lệnh:
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
  1. Cài đặt netbean
  2. Tải bản Netbeans hỗ trợ PHP và cài đặt (Download Netbeans: http://netbeans.org/downloads/index.html )
  3. Sử dụng công cụ cài đặt plug-in của Netbeans để tìm các plug-in về PHP:

image003
Cần cài đủ những plug-in sau

  1. PHP
  2. Selenium Module for PHP
  3. PHP Documentor Tag Help
  4. PHP Documentor

II. Cấu hình Netbeans

Từ thanh trình đơn của Netbeans> Tools > Options > chọn tab PHP

Mở tiếp sang tab Unit Testing:

  1. – Bấm nútSearch trong phần PHPUnit Script để Netbeans tự động xác định PHPUnit.
  2. – Bấm nútSearch trong phần Skeleton Generator Script để Netbeans tự động xác định công cụ sinh ra các mã dành cho Unit Testing.
  3. Tạo một project và viết một class bất kỳ.

Sau khi viết xong nhấn vào file đó chọn Tools -> Create PHPUnit tests để tự động sinh ra các mã dành cho Unit Testing.

image005

Sửa file vừa tự động sinh ra để test. Nếu muốn chạy thì nhấp chuột phải vào file đó chọn RUN file.

image007

Nếu muốn chạy quan Command line thì dùng lệnh phpunit đường_dẫn

image009

Để chạy được PHPUnit bằng command line cần cài thư việc PHPUnit qua PEAR

pear install phpunit/PHPUnit

Để tự động sinh mã cần cài thư viện SkeletonGenerator

 

pear install phpunit/PHPUnit_SkeletonGenerator

Dưới đây mình có đình kèm một số Project Example về PHPUnit bạn có thể download về tham khảo:

Calculator-grouptest

Calculator-nogroup

How to use phpunit

phpunit

unittest-example

Một số phương thức hay dùng của PHPUnit

assertArrayHasKey() Kiểm tra xem key đó có trong chuỗi trả về hay không

assertClassHasAttribute() Kiểm tra xem thuộc tính có tồn tại trong chuộ trả về hay không

assertEquals() Kiểm tra chính xác chuỗi trả về

assertContains() Kiểm tra chuỗi trả về có chứa kỹ tự … hay không

assertClassHasStaticAttribute()

assertContainsOnly()

assertContainsOnlyInstancesOf()

assertCount()

assertEmpty()

assertEqualXMLStructure()

assertFalse()

assertFileEquals()

assertFileExists()

assertGreaterThan()

assertGreaterThanOrEqual()

assertInstanceOf()

assertInternalType()

assertJsonFileEqualsJsonFile()

assertJsonStringEqualsJsonFile()

assertJsonStringEqualsJsonString()

assertLessThan()

assertLessThanOrEqual()

assertNull()

assertObjectHasAttribute()

assertRegExp()

assertStringMatchesFormat()

assertStringMatchesFormatFile()

assertSame()

assertSelectCount()

assertSelectEquals()

assertSelectRegExp()

assertStringEndsWith()

assertStringEqualsFile()

assertStringStartsWith()

assertTag()

assertThat()

assertTrue()

assertXmlFileEqualsXmlFile()

assertXmlStringEqualsXmlFile()

assertXmlStringEqualsXmlString()

Leave a Reply

Your email address will not be published. Required fields are marked *

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare