Tôi đang cố gắng để viết một bài kiểm tra đơn vị cho một bộ điều khiển sử dụng Zend và PHPUnitlàm thế nào để ghi đè php: // đầu vào khi thực hiện kiểm tra đơn vị
Trong đoạn code tôi lấy dữ liệu từ php: // đầu vào
$req = new Zend_Controller_Request_Http();
$data = $req->getRawBody();
Mã của tôi hoạt động tốt khi tôi thử nghiệm ứng dụng thực, nhưng trừ khi tôi có thể cung cấp dữ liệu dưới dạng bài đăng http thô, dữ liệu $ sẽ luôn trống. Phương thức getRawBody() về cơ bản gọi tệp_get_contents ('php: // input'), nhưng làm thế nào để ghi đè lên điều này để cung cấp dữ liệu thử nghiệm cho ứng dụng của tôi.
Yeap, không phải là một giải pháp hoàn hảo, nhưng làm thế nào tôi đã quyết định thực hiện nó quá. Cảm ơn. –
Tôi sẽ không đề xuất giải pháp này - sử dụng câu lệnh 'if' để thực hiện các mã khác nhau trong các bài kiểm tra đơn vị so với sản xuất. Bạn lý tưởng muốn mã của bạn thực thi cùng một câu lệnh logic trong cả hai thế giới. Xem giải pháp @ MitMaro dưới đây sử dụng đường dẫn đầu vào có thể định cấu hình. –