2010-08-26 16 views
6

Tại sao tôi cần điều này? Tôi đang chạy các thử nghiệm trên dự án symfony (và sử dụng Zend fw) và phpunit tạo ra clover cho tất cả các file bị ảnh hưởng. Nhưng tôi không muốn xem mức độ phù hợp cho symfony và Zend libs (và tất cả những thứ khác của bên thứ ba). Tôi chỉ muốn xem mức độ phù hợp cho mã của tôi. Hoặc có thể điều này nên làm trình xem clover? Tôi đang sử dụng plugin clover cho hudson, nhưng nó không hỗ trợ xem cho các nguồn cụ thể. Plugin clover cho thấy, mã của tôi chỉ bao gồm 20%, điều đó không chính xác vì nó cũng được coi là symfony và Zend libs.cỏ ba lá phpunit từ một số thư mục cụ thể, không phải là cỏ ba lá đầy đủ. Có thể không?

Btw, có thể có một cách khác để có được điều này?

Trả lời

10

Bạn cần tạo tệp cấu hình cho phpunit, bên trong tệp cấu hình đó, bạn có thể loại trừ các tệp hoặc thư mục cụ thể khỏi phạm vi mã.

tập tin Ví dụ như sau:

<phpunit stopOnFailure="false"> 
    <testsuite name="Name"> 
    </testsuite> 

<filter> 
    <whitelist> 
      <directory suffix=".php">../php</directory> 
      <exclude> 
        <file>../php/somefile.php</file> 
        <directory suffix=".php">../php/pdf</directory> 
      </exclude> 
    </whitelist> 
</filter> 

<logging> 


     <log type="coverage-html" target="target-dir/coverage" charset="UTF-8" yui="true" highlight="true"/> 
     <log type="coverage-clover" target="target-dir/build/logs/clover.xml"/> 
</logging> 

</phpunit> 

Với tất cả mọi thứ trên tập tin dưới ../php (đây là tương đối từ thư mục nơi mà các bài kiểm tra trong và phprun được thực hiện từ) được bao gồm trong bảo hiểm mã, ngoại trừ tệp ../php/somefile.php và tất cả các tệp có đuôi .php từ thư mục ../php/pdf

Đặt tên tệp này là phpunit.xml, đặt vào cùng thư mục nơi bạn chạy thử nghiệm từ. Chúng, nếu bạn chạy phpunit, nó sẽ chọn conf up.

Nếu bạn không thể sử dụng tên tập tin đặc biệt này, bạn có thể cho biết tên từ dòng lệnh

phpunit --configuration yourconf.xml 

Thông tin chi tiết về tập tin cấu hình phpunit hiện có sẵn tại địa chỉ: http://phpunit.de/manual/3.7/en/appendixes.configuration.html

+0

Việc bạn đề cập đến đường dẫn tương đối hữu ích, cảm ơn! –

0

Tôi nghĩ rằng bộ lọc lưu ý về cấu hình tập tin xml phải được bao bọc bởi các nút loggin:

như thế này:

<phpunit stopOnFailure="false"> 
    <testsuite name="Name"></testsuite> 

    <logging> 
     <filter> 
       <whitelist> 
         <directory suffix=".php">../php</directory> 
         <exclude> 
           <file>../php/somefile.php</file> 
           <directory suffix=".php">../php/pdf</directory> 
         </exclude> 
       </whitelist> 
     </filter> 

     <log type="coverage-html" target="target-dir/coverage" charset="UTF-8" yui="true" highlight="true"/> 
     <log type="coverage-clover" target="target-dir/build/logs/clover.xml"/> 
    </logging> 

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