2013-10-10 14 views
10

Có thể chạy bộ kiểm thử phpUnit trong cùng một quy trình, nhưng xác định các thử nghiệm cụ thể để chạy trong các quy trình của riêng chúng?Làm thế nào để chạy một thử nghiệm phpUnit duy nhất trong một quá trình riêng biệt?

Thông thường tôi sử dụng

@runTestsInSeparateProcesses 
@preserveGlobalState disabled 

cho toàn bộ một bộ kiểm tra, nhưng tôi chỉ cần một phương pháp duy nhất để được chạy riêng biệt, và tôi muốn tăng tốc độ của việc có thời gian nghỉ ngơi trong một quá trình duy nhất.

Cảm ơn

Trả lời

14

Như bạn có thể thấy trong PHPUnit manual bạn có thể sử dụng:

class MyTest extends PHPUnit_Framework_TestCase 
{ 
    /** 
    * @runInSeparateProcess 
    */ 
    public function testInSeparateProcess() 
    { 
     // ... 
    } 

}

+0

Thực hiện chức năng đó với một đơn giản 'echo "? Làm việc"; 'gây bộ kiểm tra phpUnit của tôi để 'treo' và không bao giờ kết thúc thực hiện. Có suy nghĩ gì không? –

+0

Bạn có nghĩa là sử dụng tài liệu này? –

+0

Sử dụng docblock làm cho chức năng của tôi trong bộ thử nghiệm của tôi bị treo, nhưng không phải khi tôi chạy tập lệnh với trình bao cơ bản mà bạn có ở trên. Dường như tôi có thể có một vấn đề bởi vì tôi đang mở rộng PHPUnit_Extensions_Database_TestCase thông qua một lớp trừu tượng mà tôi đang kế thừa từ đó. –

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