2011-02-07 43 views
13

Tôi làm cách nào để có được PHPUnit chạy PHPT test cases và tích hợp trạng thái vượt qua/lỗi thành các chỉ số tổng thể? Tôi đã biết cách chạy các kiểm tra này bằng cách sử dụng run-phpt từ dòng lệnh, nhưng tôi muốn chạy chúng từ bên trong PHPUnit với các thử nghiệm khác của tôi.Tích hợp các trường hợp thử nghiệm PHPT với PHPUnit

Tôi biết rằng PHPUnit_Extensions_PhptTestCase tồn tại nhưng tôi không thể tìm thấy bất kỳ mẫu nào về cách sử dụng nó.

+0

@DavidHarkness Cảm ơn đã dọn dẹp. Đọc cách tốt hơn ngay bây giờ. Nhiều đánh giá cao – edorian

Trả lời

5

Trong khi điểm chính của blog post about testing file uploads này là để mô tả cách viết các kiểm tra PHPT, nó cho thấy cách tích hợp chúng vào PHPUnit ở cuối bài đăng. Tóm lại, bạn chuyển đường dẫn tuyệt đối tới tệp .phpt tới hàm tạo của cha.

<?php 
require_once 'PHPUnit/Extensions/PhptTestCase.php'; 

class UploadExampleTest extends PHPUnit_Extensions_PhptTestCase { 
    public function __construct() { 
     parent::__construct(__DIR__ . '/upload-example.phpt'); 
    } 
} 

Ngoài ra, bạn có thể sử dụng lớp PHPUnit_Extensions_PhptTestSuite, mà phải mất một thư mục như là đối số nhà xây dựng đầu tiên và sau đó tìm kiếm cho tất cả các file * .phpt trong thư mục này.

+1

Điều đó có nghĩa là mỗi testcase đơn yêu cầu một tệp lớp mã hóa riêng biệt ** và ** tệp testcase cho nó? Wow, đó là vô ích ... – ircmaxell

+0

tôi hoàn toàn quên mất bài viết của mapi ngay cả vì vậy đó là lý do tôi bắt đầu quan tâm đến phpt một lần nữa. Cảm ơn ! – edorian

+6

@ircmaxell: "Ngoài ra, bạn có thể sử dụng lớp PHPUnit_Extensions_PhptTestSuite, có một thư mục làm đối số khởi tạo đầu tiên và sau đó tìm kiếm tất cả các tệp * .phpt trong thư mục này" :) – edorian

3

Trong cấu hình XML phpunit của bạn, bạn có thể thêm một TestSuite tên PHPT (hoặc bất kỳ tên khác) và trỏ đến thư mục mà bạn đặt .phpt file với suffix thiết lập để ".phpt". Phpunit sau đó sẽ thực hiện tất cả các phpt-test-file từ thư mục đó:

<testsuites> 
    <testsuite name="Main Test Suite"> 
     <directory>test</directory> 
    </testsuite> 
    <testsuite name="PHPT Test Suite"> 
     <directory suffix=".phpt">test/phpt</directory> 
    </testsuite> 
</testsuites> 

Trong ví dụ này, các thư mục chứa các test/phpt.phpt tập tin.

Thông tin về các định dạng như thế nào .phpt kiểm tra được cấu trúc và văn bản có sẵn trong sâu tại địa chỉ:

Các vấn đề liên quan