2012-12-04 15 views
5

Tôi đang sử dụng PHPUnit 3.4.14 và tôi đang cố gắng thêm Trình nghe.Trình nghe PHPUnit được tải nhưng không sử dụng

Tôi đã viết một đơn giản:

class My_Test_Listener implements PHPUnit_Framework_TestListener 
{ 
    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time) 
    { 
... 

tôi tuyên bố nó trong tập tin phpunit.xml tôi:

<phpunit bootstrap="./bootstrap.php"> 
    <testsuites> 
     <testsuite name="auth"> 
      <directory>./library/Ademe/Auth</directory> 
     </testsuite> 
    </testsuites> 
    <listeners> 
     <listener class="Listener" file="./library/My/Test/Listener.php"> 
    </listener> 
    </listeners> 
</phpunit> 

Lớp học của tôi được nạp (nếu tôi bỏ qua để thực hiện một trong những phương pháp này, nó nói như vậy trong các bản ghi), nhưng tôi không bao giờ đi vào bên trong phương pháp. Tôi đã thử ví dụ này:

public function startTestSuite(PHPUnit_Framework_TestSuite $suite) 
{ 
    die('startTestSuite'); 
} 

Bạn có biết bất kỳ điều gì có thể bị thiếu không?

Cảm ơn!

Trả lời

6

OK Tôi hiểu rồi, tên lớp đã sai, mặc dù không có lỗi nào được báo cáo. Lẽ ra tôi nên làm điều này thay vì:

<phpunit bootstrap="./bootstrap.php"> 
    <testsuites> 
     <testsuite name="auth"> 
      <directory>./library/Ademe/Auth</directory> 
     </testsuite> 
    </testsuites> 
    <listeners> 
     <listener class="My_Test_Listener" file="./library/My/Test/Listener.php"> 
    </listener> 
    </listeners> 
</phpunit> 
+1

Tôi đã có cùng một vấn đề, cảm ơn! Bạn nên chấp nhận câu trả lời của bạn! –

+3

Tôi đã sắp xếp cùng một vấn đề, tôi cần thêm không gian tên đầy đủ. – b01

+1

Tôi ước nó đã ném một lỗi khi lớp học không được tìm thấy. – b01

3

tôi đã có lỗi tương tự nhưng người nghe chỉ làm việc khi tôi sử dụng

<listener class="\Name\Space\MyTestListeners" ></listener>