Кто-нибудь использует Junit4 с cpsuite-1.2.5 и EasyMock?

Мы используем ClassPathSuite для упрощения тестирования: http://www.johanneslink.net/projects/cpsuite.jsp

Это работает очень хорошо. Единственная проблема, с которой мы сталкиваемся, связана с EasyMock. EasyMock отлично работает, если мы запускаем один тестовый класс изолированно. Но если мы попытаемся запустить все наши тесты с помощью ClassPathSuite, EasyMock будет работать некорректно:

import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.*;
import org.junit.extensions.cpsuite.ClasspathSuite.*;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Categories.class)
@ExcludeCategory(SlowTest.class)
@SuiteClasses( {AllCITests.class})
public class FastTestSuite {

}

Никаких исключений не возникает, однако следующий код работает не так, как ожидалось (мы никогда не возвращаем то, что определяем в andReturn:)

EasyMock.expectLastCall().andReturn(somethingElse);

Кто-нибудь видел и решил эту проблему?


person Brian    schedule 16.07.2011    source источник
comment
Вы пытались запустить несколько классов, включая тот, который не работает, без использования cpsuite? Как я сейчас смотрю, это инструмент управления тестами, поэтому я не думаю, что это каким-либо образом беспокоит EasyMock.   -  person Jaime Hablutzel    schedule 17.07.2011
comment
Если я запускаю обычный jUnit4, у меня нет проблем с тестами EasyMock. Я запускаю те же три класса и те же тесты, но получаю разные результаты по сравнению с тем, когда использую cpsuite.   -  person Brian    schedule 19.07.2011


Ответы (1)


Оказалось, что это не имеет ничего общего с ClassPathSuite или EasyMock. Вместо этого это было вызвано использованием синглтонов в нашем коде. У нас был конкретный сценарий, когда EasyMock не вызывался, потому что для объекта, который мы пытались имитировать, уже существовал синглтон.

person Brian    schedule 06.10.2011