Я только что пришел в мир easymock. Мне бы хотелось спросить, не делает ли easymock мошенничество объекту для интерфейсов? Итак, в попытке понять, что я написал класс для генерации уникального ваучера в java.i, очевидно, не может знать, какое значение он будет генерировать для использования в assert stuff. Так как убедиться, что сгенерированный ваучер имеет тип long?проверить тип объекта с помощью easymock
здесь функция
public static Long generateID(int length) {
logger.info("Calling generateID with specify length");
Long result = null;
if (length > 0) {
StringBuffer id = new StringBuffer(length);
for (int i = 0; i < length; i++) {
id.append(NUMS[(int)Math.floor(Math.random() * 20)]);
}
result = Long.parseLong(id.toString());
}
return result;
}
здесь тестовый класс
@Before
public void setUp() {
mockgenerator = createMock(VGenerator.class);
}
/**
* Test of generateID method, of class VGenerator.
*/
@Test
public void testGenerateID() {
Long exp = (long)1;
int length = 15;
expect(mockgenerator.generateID(length)).equals(Long.class);
replay(mockgenerator);
long res = mockgenerator.generatedID(length);
assertEquals(exp.class, res.class);
}
хорошо это может выглядеть потрясающе для вас, но я до сих пор путают о том, как сделать это спасибо за помощь
Если generateID() попытался вернуть то, что не было долго, класс даже не компилировался. –