2016-09-28 1 views

答えて

1

あなたは戻り値を指定するためのコールバックを使用して、そこに引数をチェックすることができますので、それは標準的な方法を使ってことはできませんように見える(少しトリッキーが、動作しているようです):

$mock = $thi->getMockBuilder('MyClass')->getMock(); 
$mock->expects($this->any()) 
    ->method('myMethod') 
    ->willReturnCallback(function() { 
     $args = func_get_args(); 
     $disallowedArgs = [1, 'abc']; 
     $this->assertNotEquals($disallowedArgs, $args); 
    }) 
; 
0

メソッドに渡されるべきではない引数を渡し、あなたのメソッドがそれを投げている場合には例外を予期します。

https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.exceptions.examples.ExceptionTest.php

+0

実際の方法がどのように機能すべきかを前提としています。問題はその方法を嘲笑することです。おそらく引数は実際のメソッドには良いが、テストのコンテキストでは有効ではないかもしれない。 – gontrollez

関連する問題