Vấn đề
Để cải thiện chất lượng mã của mình, tôi đã quyết định cố gắng tìm hiểu cách kiểm tra mã của mình bằng Kiểm tra đơn vị thay vì các giải pháp kiểm tra tầm thường ở mức tốt nhất.
Tôi quyết định cài đặt PHPUnit bằng cách sử dụng trình tổng hợp cho một thư viện cá nhân cho phép tôi đạt được các chức năng cơ sở dữ liệu chung. Lúc đầu, tôi không có tệp cấu hình cho PHPUnit và khi tôi chạy các lệnh như:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Xin lưu ý rằng đây là lệnh đầu cuối, vì vậy tôi không bao gồm .php
phần mở rộng. GeneralStringFunctionsTest được đề cập ở trên thực sự là một GeneralStringFunctionsTest.php
tệp.
Đầu ra là những gì tôi mong đợi:
Thời gian: 31 ms, Bộ nhớ: 2,75Mb
OK (1 kiểm tra, 1 khẳng định)
Sau đó, tôi đã cố gắng sử dụng tệp cấu hình để tự động tải bộ thử nghiệm thay vì phải nhập tệp theo cách thủ công mỗi lần. Tôi đã tạo một tệp có tên phpunit.xml
trong thư mục gốc của mình và nhập thông tin sau vào tệp: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Bây giờ, khi tôi chạy lệnh:
phpunit
Tôi nhận được kết quả sau:
PHPUnit 4.5.0 của Sebastian Bergmann và những người đóng góp.
Cấu hình đọc từ /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Thời gian: 16 ms, Bộ nhớ: 1,50Mb
Không có thử nghiệm nào được thực hiện!
Trong trường hợp đó là hữu ích, cấu trúc thư mục của tôi là như sau:
src - Top thư mục cấp cao (với tất cả các mã nguồn của tôi)
kiểm tra - Top thư mục cấp cao (với tất cả các xét nghiệm của tôi, có cấu trúc giống như tôi src thư mục)
nhà cung cấp - Composer file của bên thứ ba
Tôi cũng có tệp trình soạn nhạc json và tệp khóa, cũng như tệp xml phpunit ở cấp cao nhất dưới dạng tệp.
Những điều tôi đã thử
- Thay đổi thư
phpunit.xml
mục thànhtests/GeneralStringFunctions
- Thay đổi thư
phpunit.xml
mục thành./tests
- Di chuyển
phpunit.xml
tệp đếntests
thư mục và sau đó thay đổi thư mục thành./
thay vìtests
. - Thêm thuộc tính hậu tố vào thẻ thư mục
phpunit.xml
để chỉ định "Kiểm tra" làm hậu tố rõ ràng.
tests/GeneralStringFunctions/GeneralStringFunctionsTest
một thư mục hay một tên tệp?