Hướng dẫn phpunit doesnotperformassertions - phpunit không thực hiện xác nhận
Hướng dẫn dùng wuizz trong PHPNội dung chínhGiới thiệuTrước khi bắt đầuCài đặt PHPUNITChạy PHPUnitCấu trúc project Cấu hình file phpunit.xmlCONVENTIONSCấu trúc và tên fileTên các method ... Hướng dẫn dùng qizz com trong PHPNội dung chínhGiới thiệuTrước khi bắt đầuCài đặt PHPUNITChạy PHPUnitCấu trúc project Cấu hình file phpunit.xmlCONVENTIONSCấu trúc và tên fileTên các method ... Hướng dẫn dùng qizz com trong PHPHướng dẫn assert no exception phpunit PHP 7.4 and PHPUnit 9Using the PHPUnit homepage example (https://phpunit.de/getting-started/phpunit-9.html):private function ensureIsValidEmail(string $email): void { if (!filter_var($email, ...Hướng dẫn dùng asssert trong PHP Trong bài đầu tiên của series này, chúng ta đã đi qua cách cài đặt và cấu hình PHPUnit cho 1 project PHP, một số conventions khi thực hiện Unit test trong PHP và trải ...Hướng dẫn dùng asssert trong PHP Trong bài đầu tiên của series này, chúng ta đã đi qua cách cài đặt và cấu hình PHPUnit cho 1 project PHP, một số conventions khi thực hiện Unit test trong PHP và trải ...Hướng dẫn dùng asssert trong PHP Trong bài đầu tiên của series này, chúng ta đã đi qua cách cài đặt và cấu hình PHPUnit cho 1 project PHP, một số conventions khi thực hiện Unit test trong PHP và trải ...Hướng dẫn dùng asssert trong PHP Php 7.4 và Phpunit 9 Sử dụng ví dụ về trang chủ PHPUNIT (https://phpunit.de/getting-started/phpunit-9.html):
Trang chủ cũng chỉ cho chúng tôi cách kiểm tra ngoại lệ được ném bằng phương pháp
Thật tuyệt. Nhưng điều gì sẽ xảy ra nếu tôi muốn kiểm tra ngoại lệ không được đưa ra cho đầu vào hợp lệ?not thrown given valid input ? Nhìn vào các tài liệu (https://phpunit.readthedocs.io/en/9.3/writing-tests-for-phpunit.html#testing-exceptions) Dường như không đề cập đến phương pháp nghịch đảo với Tôi nên tiếp cận điều này như thế nào? Chỉnh sửa để thêm: Chỉ cần làm cho nó hoàn toàn rõ ràng, tôi đang tìm cách kiểm tra một kịch bản Đã hỏi ngày 1 tháng 9 năm 2020 lúc 20:35Sep 1, 2020 at 20:35 Mã số ít mã hóaLittle Code 1.2352 huy hiệu vàng13 Huy hiệu bạc34 Huy hiệu đồng2 gold badges13 silver badges34 bronze badges 1 Nếu một ngoại lệ chưa từng thấy hoặc bất ngờ được ném, bài kiểm tra sẽ thất bại. Bạn không cần phải làm bất cứ điều gì đặc biệt, chỉ cần chạy mã đang được kiểm tra. Nếu không có xác nhận nào khác trong phương pháp kiểm tra, bạn cũng sẽ phải thực hiện
Đã trả lời ngày 1 tháng 9 năm 2020 lúc 20:39Sep 1, 2020 at 20:39 Alex Howanskyalex HowanskyAlex Howansky 47.6K8 Huy hiệu vàng74 Huy hiệu bạc95 Huy hiệu Đồng8 gold badges74 silver badges95 bronze badges 2 Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ phpunit hoặc đặt câu hỏi của riêng bạn.Tôi đã tái cấu trúc một cơ sở mã PHP cũ và bao gồm viết các bài kiểm tra mới. Trong khi làm điều đó, tôi đã tìm thấy một phương thức lớp chỉ chấp nhận một tập hợp các giá trị được xác định trước và từ chối bất kỳ giá trị nào khác bằng cách ném một ngoại lệ. Dưới đây là một đại diện đơn giản hóa của lớp này:
Ngay lập tức, tôi đã viết một bài kiểm tra để kiểm tra xem phương thức có lọc ra các giá trị đầu vào không hợp lệ không:
Dễ như ăn bánh. Nhưng điều gì sẽ xảy ra nếu phương thức không xử lý các giá trị đầu vào hợp lệ một cách chính xác? Vì phương thức chỉ chấp nhận một tập hợp nhỏ các giá trị, chúng tôi có thể kiểm tra tất cả chúng. Tuy nhiên, PHPUNIT 6 không có xác nhận 0, cũng không cho phép kiểm tra mà không cần xác nhận.valid input values correctly? Since the method accepts only a small set of values, we could test all of them. However, PHPUnit 6 doesn’t have a 0 assertion, nor does it allow a test without an assertion.Chúng ta có thể dễ dàng khắc phục những hạn chế này bằng cách thêm một xác nhận vào cuối thử nghiệm ( 1) hoặc bằng cách tăng số lượng xác nhận ( 2). Nếu việc thực hiện phương thức 3 không chính xác, một ngoại lệ sẽ được ném, nếu không, khẳng định sẽ được tính đến và PHPUNIT sẽ không phàn nàn về thử nghiệm.
|