$() Method
This is the method that you will call upon in order to mock a method's behavior and return results. This method has the capability of mocking a return value or even making the method throw a controlled exception. By default the mocked method results will be returned all the time the method is called. So if the mocked method is called twice, the results will always be returned.
Parameters:
method
- The method you want to mock or spy onreturns
- The results it must return, if not passed it returns void or you will have to do the mockResults() chainpreserveReturnType
- If false, the mock will make the returntype of the method equal to ANYthrowException
- If you want the method call to throw an exceptionthrowType
- The type of the exception to throwthrowDetail
- The detail of the exception to throwthrowMessage
- The message of the exception to throwcallLogging
- Will add the machinery to also log the incoming arguments to each subsequent calls to this methodpreserveArguments
- If true, argument signatures are kept, else they are ignored. If true, BEWARE with $args() matching as default values and missing arguments need to be passed too.callback
- A callback to execute that should return the desired results, this can be a UDF or closure. It also receives all caller arguments as well.throwErrorCode
- The error code to throw in the exception
The cool thing about this method is that it also returns the same instance of the object. Therefore, you can use it to chain calls to the object and do multiple mocking of methods all within the same line. Remember that if no returns argument is provided then the return is void
Examples
Let's do some samples now