2010-07-08 26 views

Trả lời

16

Nếu bạn đang cố gắng đạt được phạm vi mã 100% nhưng có một hoặc nhiều dòng mà bạn không thể kiểm tra, bạn có thể bao quanh chúng bằng chú thích đặc biệt. Họ sẽ bị bỏ qua trong báo cáo bảo hiểm mã.

if (($result = file_get_contenst($url)) === false) { 
    // @codeCoverageIgnoreStart 
    $this->handleError($url); 
    // @codeCoverageIgnoreEnd 
} 

Edit: Tôi đã phát hiện ra rằng Xdebug thường coi nẹp bế mạc được thực thi. :(Nếu điều đó xảy ra, di chuyển thẻ kết thúc dưới nó

+0

Tôi đã có phiên bản cũ của PHPUnit để mã không hoạt động. Tôi đã tìm ra nhưng cảm ơn. Ngay cả một giải pháp tốt hơn là sử dụng phpunit.xml => Tôi đăng câu trả lời .. – Alfred

+0

Xác nhận với PHPStorm: cần phải di chuyển thẻ kết thúc sau khi đóng khung. – tivnet

2

Trước tiên hãy chắc chắn rằng bạn có phpunit mới nhất và lớn nhất hoặc khác mã bỏ qua có thể là thiếu Tiếp theo tạo một file phpunit.xml mà trông giống như sau:..

<phpunit colors="true"> 
    <filter> 
     <blacklist> 
      <file>file1.php</file> 
      <file>file2.php</file> 
     </blacklist> 
    </filter> 
</phpunit> 
+4

Câu hỏi của bạn được hỏi về việc loại trừ các dòng và khối mà ở trên sẽ không làm - nó bỏ qua toàn bộ tệp. Ngoài ra, nếu bạn sử dụng danh sách trắng (công ty của tôi), danh sách đen sẽ bị bỏ qua. –

+0

Rất tiếc, cảm ơn David. Câu hỏi này đã được hỏi từ lâu rồi và trong tựa đề nó nói là tập tin. Nhưng cảm ơn thông tin. – Alfred

20

Để bỏ qua khối mã phương pháp:

/** 
* @codeCoverageIgnore 
*/ 
function functionToBeIgnored() { 
    // function implementation 
} 

Để bỏ qua khối mã lớp:

/** 
* @codeCoverageIgnore 
*/ 
class Foo { 
    // class implementation 
} 

Và như @ david-Harkness nói, bỏ qua dòng cá nhân:

// @codeCoverageIgnoreStart 
print 'this line ignored for code coverage'; 
// @codeCoverageIgnoreEnd 

Thông tin thêm có thể bằng cách tìm thấy trong PHPUnit Documentation dưới Bỏ qua khối mã tiêu đề.

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