diff --git a/source/fr/mocking_systems/native_functions.inc.rst b/source/fr/mocking_systems/native_functions.inc.rst index a08b616..afa9eb5 100644 --- a/source/fr/mocking_systems/native_functions.inc.rst +++ b/source/fr/mocking_systems/native_functions.inc.rst @@ -26,6 +26,35 @@ atoum permet de très facilement simuler le comportement des fonctions natives d ->exception(function() { $this->testedInstance->loadConfigFile(); }) ; +L'expression ``$this->function->file_exists = …`` permet de définir avec une valeur, une expression ou même une fonction anonyme le comportement souhaité de la fonctionne pour le test. + +Exemple avec la fonction native mail() de PHP : + +.. code-block:: php + + assert('mail') + ->given($this->newTestedInstance()) + ->if($this->function->mail = function (string $to, string $subject, string $message, $headers, string $params = '') use ($that) { + $that + ->string($to) + ->isNotEmpty() + ->boolean(filter_var($to, FILTER_VALIDATE_EMAIL) !== false) + ->isTrue() + ->string($subject) + ->isNotEmpty() + ->string($message) + ->isNotEmpty() + ; + + return true; + }) + ->then + … + .. important:: On ne peut pas mettre de \\ devant les fonctions à simuler, car atoum s’appuie sur le mécanisme de résolution des espaces de nom de PHP.