2
A
回答
5
也許你可以找到更簡單的方法來測試你writables,但手動做序列化/反序列化也將正常工作。 E.g:
MyUtils.java:
...
import org.apache.commons.io.IOUtils;
...
public static byte[] serialize(Writable writable) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataOutputStream dataOut = null;
try {
dataOut = new DataOutputStream(out);
writable.write(dataOut);
return out.toByteArray();
}
finally {
IOUtils.closeQuietly(dataOut);
}
}
public static <T extends Writable> T asWritable(byte[] bytes, Class<T> clazz)
throws IOException {
T result = null;
DataInputStream dataIn = null;
try {
result = clazz.newInstance();
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
dataIn = new DataInputStream(in);
result.readFields(dataIn);
} catch (InstantiationException e) {
// should not happen
assert false;
} catch (IllegalAccessException e) {
// should not happen
assert false;
} finally {
IOUtils.closeQuietly(dataIn);
}
return result;
}
然後在您的測試類:
CustomWritable record = ... ; //your initialized Writable
byte[] serializedBytes = MyUtils.serialize(record);
CustomWritable deserialized =
MyUtils.asWritable(serializedBytes, CustomWritable.class);
assertEquals("Value mismatch!", record.getFieldA(), deserialized.getFieldA());
...
相關問題
- 1. JUnit測試Hadoop可寫
- 2. 如何寫測試單元
- 3. Hadoop:如何進行單元測試FileSystem
- 4. 如何寫單元測試的輸出?
- 5. 如何編寫getPopularItems()的單元測試?
- 6. 如何編寫單元測試
- 7. 如何編寫單元測試?
- 8. 如何編寫加密單元測試?
- 9. vue karma,如何編寫單元測試
- 10. 如何編寫「髒」單元測試?
- 11. 如何撰寫Jemmy單元測試?
- 12. 重寫單元測試可以嗎?
- 13. 我如何編寫測試併發性的Tornado單元測試
- 14. Hadoop單元測試嘲諷上下文
- 15. 寫單元測試odoo 8
- 16. 書寫單元測試表單元素
- 17. 如何編寫php單元測試來測試堆棧功能?
- 18. 如何編寫測試:Socket.io應用程序單元測試
- 19. 如何編寫單元測試,測試併發不變
- 20. 單元測試可運行類如何?
- 21. 如何使可用於單元測試
- 22. 可選單元的單元測試
- 23. 單元測試示例證明單元測試值得一寫
- 24. 如何編寫簡單的單元測試來測試JSON的解析?
- 25. 單元測試建議 - 如何單元測試您的.asmx
- 26. 單元測試場景 - 如何測試?
- 27. Android單元測試:我如何測試?
- 28. 如何編寫單元測試來聲明jQuery元素的值
- 29. 如何寫單元測試這個簡單的應用
- 30. 如何使用xUnitContrib編寫簡單的WP7單元測試?