Wie kann ich in PHPUnit testen, ob eine Methode nie mit bestimmten Argumenten aufgerufen wird? Ich meine, dass es mit allen anderen Argumenten sogar mehrfach aufgerufen werden kann, aber nie mit einem bestimmten.Erwarten Sie, dass eine Methode nie mit bestimmten Argumenten aufgerufen wird
0
A
Antwort
1
Sieht aus wie es nicht möglich, die Standardmethode verwenden, so dass Sie einen Rückruf zur Angabe der Rückgabewert verwenden können, und überprüfen Sie die Argumente gibt (etwas schwierig, aber scheint zu funktionieren):
$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
Übergeben Sie das Argument, das nicht an die Methode übergeben werden soll, und bestätigen Sie expect exception, wenn Ihre Methode eine wirft (was wahrscheinlich sein sollte).
Verwandte Themen
- 1. NSFilePresenter -presedSubitemDidAppearAtURL: Die Methode wird nie aufgerufen
- 2. PreparateForSegue wird nie aufgerufen
- 3. Warum wird meine KeyPressed-Methode nie aufgerufen?
- 4. Fragment onCreateOptionsMenu Methode wird nie aufgerufen
- 5. Delphi Mocks - Überprüfen Sie, dass eine überladene Methode nie aufgerufen wird
- 6. Warum wird meine sumoUrideLoading-Methode nie aufgerufen?
- 7. onClick-Methode im Fragment wird nie aufgerufen
- 8. LocationServices.FusedLocationApi.requestLocationUpdates wird nie aufgerufen
- 9. Wie kann ich mit OCMock überprüfen, dass eine Methode nie aufgerufen wird?
- 10. Überprüfen Sie, dass eine Methode nie mit OCMock aufgerufen wurde 3
- 11. ClaimsAuthenticationManager.Authenticate wird nie aufgerufen
- 12. IOS Dealloc wird nie aufgerufen
- 13. onIabPurchaseFinishedListener wird nie aufgerufen
- 14. Pass deserializeUser Methode nie aufgerufen
- 15. Hibernate @PostLoad wird nie aufgerufen
- 16. Warum wird afterRender nie aufgerufen?
- 17. Warum wird diese Methode ausgeführt, ohne dass sie aufgerufen wird?
- 18. FragmentPagerAdapter nie getItem() wird nie aufgerufen
- 19. Sicherstellen, dass eine Methode mit Mockito ohne Angabe von Argumenten aufgerufen wurde
- 20. Wie testen, dass diese Methode mit einer Mischung aus Argumenten und Schlüsselwortargumenten in rspec aufgerufen wird?
- 21. Javascript: Nie zurück von erwarten
- 22. Verhindern, dass eine Methode vor einer anderen aufgerufen wird
- 23. Sicherstellen, dass eine Methode über Remoting aufgerufen wird?
- 24. FCM - onTokenRefresh() wird nie aufgerufen
- 25. onLocationChanged wird nie aufgerufen - Android
- 26. centralManager didConnectPeripheral wird nie aufgerufen
- 27. Spring MVC @ ExceptionHandler-Methode im Controller nie aufgerufen wird
- 28. RxScala ConnectableObservable.doOnSubscribe wird nie aufgerufen?
- 29. Warum wird FirebaseInstanceIdService.onTokenRefresh() nie aufgerufen?
- 30. ILocationListener.OnLocationChanged Methode nie nach RequestLocationUpdates() aufgerufen
Sie gehen davon aus, wie die echte Methode funktionieren sollte. Die Frage ist, diese Methode zu verspotten. Vielleicht sind die Argumente gut für die reale Methode, aber nicht gültig im Testkontext. – gontrollez