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());
}
}
Задачка хорошо так взбодрила меня сегодня. Спасибо Автору вот этого вот поста.Ответ у меня уже готов. Выложу позже. Все желающие - подключайтесь.

Комментариев нет:
Отправить комментарий