Tôi đang cố gắng tạo thử nghiệm phpunit đầu tiên và thấy mình cần phải tạo phương thức trên giao diện IMailer
.PHPUnit gọi đến phương thức chưa xác định `Mock_x _ :: method()`
interface IMailer
{
public function send($to, $from, $cc, $subject, $body);
public function sent();
}
$mailer = $this->getMockBuilder(
'IMailer',
array('send', 'sent'))->getMock();
$mailer->method('send')->willRreturn(0);
Tuy nhiên, tôi tiếp tục nhận được
PHP Fatal error:
Call to undefined method Mock_Mailer_13fc0a04::method()
in ...Test.php on line 16
một var_dump($mailer);
kết quả trong
class Mock_IMailer_4c3e02a7#215 (1) {
private $__phpunit_invocationMocker =>
NULL
}
Làm việc với đưa ra một lỗi dito - có vẻ như rằng đối tượng chế giễu không có bất kỳ giả chức năng ...
Tôi đang chạy phpunit 3.7.28 và php 5.5.9, trên một hộp ubuntu.
Bằng cách nào? Làm thế nào tôi có thể sửa chữa nó?
Cảm ơn để sửa 'getMockBuilder' gọi tôi. Tuy nhiên, 'phương thức undefined' vẫn còn ... – xtofl
Đoạn mã trên chạy độc đáo không có lỗi trên phpunit 4.1.0.Bạn đã thử thêm lời gọi hàm mong đợi vào phần thứ hai ('$ mailer-> expect-> method-> willReturn')? Bạn có thể chia sẻ toàn bộ lớp kiểm tra mà bạn đang chạy không? Điều đó có thể cung cấp thêm một số manh mối cho vấn đề bạn đang gặp phải ... – ejuhjav
tôi nghĩ rằng điều này nên được chấp nhận câu trả lời. -> setMethods và -> returnValue giải quyết vấn đề rất giống của tôi (cũng có vẻ như tôi có phpunit cũ) – Jimmmy