Later articles will focus on and go deeper into its capabilities. JMockit 2. Some of its strong points are its expressibility and its out-of-the-box ability to mock static and private methods. In order to create mocks and define their behavior, instead of calling methods from the mocking API, you just need to define them directly. Instead, you end up with a definition of how you want the mock to behave when called. On the record phase, during test preparation and before the invocations to the methods we want to be executed, we will define the expected behavior for all tests to be used during the next stage.
|Published (Last):||9 January 2007|
|PDF File Size:||9.72 Mb|
|ePub File Size:||20.20 Mb|
|Price:||Free* [*Free Regsitration Required]|
A Publisher sends objects to zero or more Subscribers. We want to test the Publisher, which involves testing its interactions with its Subscribers. To test interactions between the Publisher and the Subscriber we will use a mock Subscriber object. First we must import the jMock classes, define our test fixture class and define a test case method.
We first set up the context in which our test will execute. We create a Publisher to test. We create a mock Subscriber that should receive the message. We then register the Subscriber with the Publisher. Finally we create a message object to publish. We expect the receive method to be called with a single argument, the message that will be sent.
The eq method is defined in the MockObjectTestCase class and specifies a " constraint 2" on the value of the argument passed to the subscriber: we expect the argument to be the equal to the message, but not necessarily the same object.
If the expected calls were not made, the test will fail. Here is the complete test. More advanced topics are covered in other tutorials 4.
jMock for beginners