我假設它使用標準Java Serialization。要模擬,請調用writeObject-方法ObjectOutputStream
並將可序列化的對象作爲輸入。然後用readObject()
反序列化並檢查結果。
示例代碼:
class SomeSerializableObject implements Serializable {
public String SomeProperty;
}
@Test
public void SomeSerializableObject_IsSerializable() throws IOException, ClassNotFoundException {
// Setup
SomeSerializableObject obj = new SomeSerializableObject();
obj.SomeProperty = "Hi!";
ByteArrayOutputStream bo = new ByteArrayOutputStream(10000);
ObjectOutputStream os = new ObjectOutputStream(bo);
// Act
os.writeObject(obj);
// Assert
byte[] raw = bo.toByteArray();
ObjectInputStream is = new ObjectInputStream(new ByteArrayInputStream(raw));
SomeSerializableObject result = (SomeSerializableObject) is.readObject();
assertEquals("Hi!", result.SomeProperty);
}
每一個實現了串行化的接口 – Blackbelt
即'java.io.Serializable'對象。 –