编写junit测试来覆盖跨版本序列化

发布于 2024-08-25 02:57:35 字数 164 浏览 4 评论 0原文

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

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

does any of you have any info/idea on how can I test my application for cross version compatibility. I am testing these object's serialization in current "HEAD" version. but I need to wait for my integration testing to see if I broke anything cross version.

I am guessing I will need to store the objects serialized from last released version somewhere on my disk, I can imagine how this kind of system might work but I wonder if someone already did it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暮年 2024-09-01 02:57:35

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

这是 Bob Lee(Google Guice 创建者)对单元测试序列化演变的看法:

While looking for ways to unit test serialization, I stumbled on this question, and on interesting blog posts on the same subject. I'll post the links here in case others find it useful...

Here is Bob Lee's (Google Guice creator) take on unit testing serialization evolution:

冷了相思 2024-09-01 02:57:35

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

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

Never did it, but I'd use the following approach:

  • Have both versions of the class under test NOT in the normal classpath.
  • Use a custom classloader to load one version
  • serialize one or more instances into a String or to a file or whatever
  • use another instance of a custom classloader, to load the other version.
  • deserialize the stuff.
  • assert all the required properties.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文