编写junit测试以涵盖跨版本序列化

时间:2010-03-12 16:49:05

标签: java serialization junit

你们是否有任何关于如何测试我的应用程序的交叉版本兼容性的信息/想法。我在当前的“HEAD”版本中测试这些对象的序列化。但是我需要等待我的集成测试,看看我是否破坏了任何跨版本。

我猜我需要将上次发布的版本中序列化的对象存储在我的磁盘上,我可以想象这种系统是如何工作的,但我想知道是否有人已经这样做了。

2 个答案:

答案 0 :(得分:1)

在寻找单元测试序列化的方法时,我偶然发现了这个问题,以及关于同一主题的有趣博客文章。我会在这里发布链接以防其他人发现它有用......

Bob Lee(Google Guice创建者)采用单元测试序列化演变:

答案 1 :(得分:0)

从未这样做过,但我会使用以下方法:

  • 让正在测试的类的两个版本都不在正常的类路径中。
  • 使用自定义类加载器加载一个版本
  • 将一个或多个实例序列化为字符串或文件或其他任何
  • 使用自定义类加载器的另一个实例来加载其他版本。
  • 反序列化。
  • 断言所有必需的属性。