2010-03-12 53 views
1

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

我猜我需要存储从我的磁盘上的某个地方上次发布的版本序列化的对象,我可以想象这种系统可能会如何工作,但我不知道是否有人已经做到了。

回答

0

从来没那么做,但我会用下面的办法:

  • 有类的两个版本测试不在正常类路径。
  • 使用自定义类加载器一个版本
  • 连载中放入一个或多个实例为一个字符串或文件或任何
  • 使用定制的ClassLoader的另一个实例,加载另一个版本。
  • 反序列化的东西。
  • 断言所有必需的属性。
+0

听起来很不错,有些问题你也许能够找到创造性的折扣: 1.只有当两个项目都在我的工作区和特定位置检出时,junit测试才会起作用 2.我需要编写项目及其前身的一些映射 – ekeren 2010-03-12 20:07:07

+0

为了检查这两个版本,我会考虑使用ant。添加与svn的接口存在。可能也适用于其他系统。 CI系统也可能有帮助(团队城市)。对不起,我不明白你的第二点。 – 2010-03-12 22:44:47