2011-08-21 25 views
7

Có một mô tả về những gì mocks và làm thế nào để làm việc với họ: http://www.phpunit.de/manual/current/en/test-doubles.htmlphpunit chế giễu tài liệu toàn diện

Nhưng không có lời giải thích toàn diện của tất cả các phương pháp có thể như $this->any(), $this->once(), $this->equalTo() vv

Vì vậy, tôi đang tìm API thế hệ Mock

PS: vâng, tôi biết tôi có thể tìm trong nguồn, nhưng tôi đang tìm kiếm tài liệu API trực tuyến

+0

Tôi e rằng không có bất kỳ điều gì.Đã tìm kiếm cho nó bản thân mình và kết thúc bằng cách tìm kiếm thông qua nguồn và thử nghiệm và lỗi (và cũng thất vọng) – Mchl

+0

@ MH: xấu hổ về chúng tôi - có một ;-) Một người chỉ cho tôi để nó sẽ gửi một câu trả lời trong một thời điểm. – zerkms

Trả lời

5

Không có tất cả mô tả API ở một nơi, nhưng là một phần của api được mô tả trong liên kết bạn đã cung cấp. Một phần khác là có sẵn trong "Writing Tests for PHPUnit"

+1

Và trong nguồn, danh sách này có thể được tìm thấy trong [PHPUnit/Framework/Constraint] (https://github.com/sebastianbergmann/phpunit/tree/master/PHPUnit/Framework/Constraint) –

2

Sách của Sebastian Bergmann "Các giải pháp và ứng dụng PHP phát triển chất lượng cao của thế giới thực" đi vào chi tiết hơn nhưng chủ yếu là thông qua các ví dụ. Những điều tốt về phương pháp được đặt tên tốt là họ không cần tài liệu toàn diện. Bạn chỉ cần hiểu các khái niệm của tất cả những thứ này trước tiên. Gợi ý, equalTo() thường được sử dụng bên trong các xác nhận tùy chỉnh, ví dụ: $ this-> assertThat ($ foo, $ this-> logicalNot ($ this-> equalTo ($ bar))); hoặc phổ biến hơn trong các kỳ vọng như -> với ($ this-> equalTo ('something')).

Các khái niệm chính được ghi lại tốt, tôi hiếm khi phải tìm hiểu mã nguồn. Ví dụ, với() "Chỉ định các xác nhận để thực hiện trên thông số được thông qua. Trong trường hợp đơn giản nhất, hãy gọi nó bằng giá trị bạn muốn sử dụng để gọi phương thức, theo thứ tự giống nhau. Params bao gồm: $ this-> bất kỳ thứ gì (), $ this-> greaterThan ($ n), $ this-> stringContains ($ str), isTrue(), isFalse(), isNull(), bằngToTo(), v.v. " Trong khi đó, một lần() được gọi từ trong số mong đợi() và mong đợi() "ghi lại một kỳ vọng mới, chẳng hạn như số lần phương pháp được chỉ định trong phương thức(), được mong đợi sẽ được gọi. $ this-> chính xác ($ count), once(), atLeastOnce(), never(), any() hoặc tại ($ index). "

+0

Vâng, tôi hiểu các khái niệm, Tôi chỉ cần danh sách tất cả những khẳng định đó. Cảm ơn bạn – zerkms

2

Với phần này của phpunit, được cho là (documentation patches can be provided on github), nguồn là tài liệu.

A list of PHPUnit assertions

The list of all functions you use in mock objects

Những chức năng tất cả trở lại một số loại PHPUnit_Framework_Constraint rằng bạn cũng có thể sử dụng trực tiếp (mặc dù việc sử dụng thông qua API là cách ưa thích). Đó là những hạn chế tương tự như mô tả trong "Writing Tests for PHPUnit". Các tên giống nhau đối với hầu hết các ràng buộc như -> fileExists nhưng một số khác biệt (_or vs -> logicalOr()) nhưng bạn có thể tra cứu chúng một cách nhanh chóng trong nguồn.

2

Tôi đã tự hỏi bản thân mình, tại sao trang web phpunit không xuất bản tài liệu API hoàn chỉnh. Thay vào đó, họ chỉ đưa ra các ví dụ. Do đó tôi đã tải xuống nguồn phpunit và chạy phpdoc. Tôi đã xuất bản tài liệu API được tạo trên http://richardbrinkman.hol.es/phpunit/4.5.0/ để những người khác không phải trải qua cùng một rắc rối.

+1

Liên kết ném 404, bạn có thể cập nhật nó không? – duncan

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