public class SomeObject { private Dependency dependency; void setDependency(Dependency dependency) { this.dependency = dependency; } public String callToDependency() { return dependency.callFromSomeObject(); } }зависим от
public interface Dependency { String callFromSomeObject(); }Есть классический способ написать EasyMock тест вот так
import static org.junit.Assert.*; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; public class SomeObjectTest { public Dependency dependency; public SomeObject someObject; @Before public void setUp() { someObject = new SomeObject(); dependency = EasyMock.createMock(Dependency.class); someObject.setDependency(dependency); } @Test public void testThatItMocksDependency() { EasyMock.expect(dependency.callFromSomeObject()).andReturn("Hello"); EasyMock.replay(dependency); assertEquals("Hello", someObject.callToDependency()); EasyMock.verify(dependency); } }Но хочется как-то так
import static org.junit.Assert.*; import org.easymock.EasyMock; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(EasyMockRunner.class) public class SomeObjectMockTest { @Mock private Dependency dependency; @TestObject private SomeObject someObject; @Test public void testThatItMocksDependency() { EasyMock.expect(dependency.callFromSomeObject()).andReturn("Hello"); CurrentMocks.replay(); assertEquals("Hello", someObject.callToDependency()); } }Задачка хорошо так взбодрила меня сегодня. Спасибо Автору вот этого вот поста.
Ответ у меня уже готов. Выложу позже. Все желающие - подключайтесь.
Комментариев нет:
Отправить комментарий