我剛進入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