我刚刚进入easymock的世界。我想问一下easymock是否只模拟接口对象?因此,在我努力理解的过程中,我编写了一个类来在 java 中生成唯一凭证。我显然不知道它将生成哪个值以用于断言内容。那么如何确保生成的凭证是 long 类型的?
这是功能
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);
}
好吧,这对您来说可能看起来很棒,但我仍然对如何做到这一点感到困惑,感谢您的帮助