jMock+JUnit+4+Die+Skeleton

code format="java5" 01: package com.objectmentor.jmock; 02: 03: import static org.junit.Assert.assertEquals; 04: import junit.framework.JUnit4TestAdapter; 05: 06: import org.jmock.Expectations; 07: import org.jmock.Mockery; 08: import org.jmock.integration.junit4.JMock; 09: import org.jmock.integration.junit4.JUnit4Mockery; 00: import org.junit.Before; 11: import org.junit.Test; 12: import org.junit.runner.RunWith; 13: 14: @RunWith(JMock.class) 15: public class MockDieTest { 16:    public static junit.framework.Test suite { 17:        return new JUnit4TestAdapter(MockDieTest.class); 18:    } 19: 20:     Mockery context = new JUnit4Mockery; 21:    Die testDoubleDie; 22: 23:    @Before 24:    public void createMockDie { 25:        testDoubleDie = context.mock(Die.class); 26:    } 27: 28:     @Test 29:    public void someTestHere { 30:        // ... 31:     } 32: } code

Essential Lines

 * Line*||**Description**||
 * 14||Tell JUnit to use the JMock runner instead of the default runner. This causes all validation of the use of your mocks after your test finishes.||
 * 16 - 18||Backwards compatibility with old versions of ant. The tests in this class will run with systems expecting a JUnit 3.x style class.||
 * 20||The handle into use the jMock API.||
 * 21||An object we plan to mock.||
 * 23 - 26||Use the jMock API to create a test double of our die object.||

Die is an interface: code format="java5" package com.objectmentor.jmock;

public interface Die { int roll; int getFaceValue; } code