Я использую EasyMock для написания юнит-тестов для моей игры в блэкджек.Но я получаю java.lang.IllegalArgumentException: Cannot subclass final class class com.blackjack.game.cards.Card
ошибку.
Хотя, я чувствую, что делаю это правильно.Вот мой тестовый класс:
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.easymock.EasyMock;
import org.easymock.EasyMockRunner;
import org.easymock.EasyMockSupport;
@RunWith(EasyMockRunner.class)
public class handTest extends EasyMockSupport{
private Hand hand;
private Card seven, nine, ten, jack, ace;
@Before
public void setUp() throws Exception
{
seven = EasyMock.createNiceMock(Card.class);
EasyMock.expect(seven.getValue()).andStubReturn(7);
EasyMock.expect(seven.toString()).andStubReturn("seven value: 7");
}
@Test
public void testTotalHandValueByAddingNumbers() {
replayAll();
hand.addCard(seven);
assertEquals(27, hand.getTotal());
}
}
Я был бы рад, если бы кто-нибудь мог помочь мне выполнить это.Прошло много времени с тех пор, как я написал модульные тесты.
Редактировать: у меня есть и Objenesis, и cglib в моем классе.
Спасибо