Tôi muốn gọi phương thức giả của tôi hai lần với các đối số dự kiến khác nhau. Điều này không hoạt động vì expects($this->once())
sẽ không thực hiện được cuộc gọi thứ hai.Trong PHPUnit, làm thế nào để tôi chỉ ra khác với() trên các cuộc gọi liên tiếp đến một phương thức giả?
$mock->expects($this->once())
->method('foo')
->with('someValue');
$mock->expects($this->once())
->method('foo')
->with('anotherValue');
$mock->foo('someValue');
$mock->foo('anotherValue');
Tôi cũng đã cố gắng:
$mock->expects($this->exactly(2))
->method('foo')
->with('someValue');
Nhưng làm thế nào để tôi thêm một với() để phù hợp với cuộc gọi thứ hai?
Tại sao bạn cần đối sánh các đối số? Bạn không thể sử dụng onConsecutiveCalls() để nói "lần đầu tiên, trả về điều này, lần thứ hai trả về"? Bạn muốn sử dụng chính xác (2) và onConsecutiveCalls() – fiunchinho
cùng một [câu hỏi] (http://stackoverflow.com/questions/5484602/mock-in-phpunit-multiple-configuration-of-the-same-method-with -different-argume) từ khối liên quan. – meze
Có thể trùng lặp của [phpunit phương pháp giả lập nhiều cuộc gọi với các đối số khác nhau] (https://stackoverflow.com/questions/5988616/phpunit-mock-method-multiple-calls-with-different-arguments) –