Используя самый простой пример из страницы примеров Mockito, я могу успешно работать в JUnit.
Однако, когда я запускаю тот же тест в Споке, он терпит неудачу.
версия JUnit/Java (это проходит):
import org.junit.Test;
import java.util.List;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class SimpleJunitTest
{
@Test
public void basicMockTest()
{
List mockedList = mock(List.class);
//using mock object
mockedList.add("one");
mockedList.clear();
//verification
verify(mockedList).add("one");
verify(mockedList).clear();
}
}
версия Spock/ Groovy (это не удается):
import static org.mockito.Mockito.mock
import static org.mockito.Mockito.verify
class SimpleSpockTest extends spock.lang.Specification
{
def "Basic Mock Test"()
{
given:
//mock creation
List mockedList = mock(List.class);
when:
//using mock object
mockedList.add("one");
mockedList.clear();
then:
//verification
verify(mockedList).add("one");
verify(mockedList).clear();
}
}
Вот ошибка, которую я получаю, когда сбой теста Spock:
Condition not satisfied:
verify(mockedList).add("one")
| | |
| | false
| [email protected] (renderer threw
NullPointerException)
[email protected] (renderer threw
NullPointerException)
at SimpleSpockTest.Basic Mock Test(SimpleSpockTest.groovy:25)
Любые идеи или предложения? Мне очень нравятся Спок и Мокито, и я надеюсь, что они будут хорошо работать вместе. Большое вам спасибо!