我刚进入easymock.i'll''''''''''''''''''''''''''''''s'all要求如果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()试图返回不是很长的东西,那么该类甚至不会编译。 – 2009-08-13 21:05:31