0

我正在开发一个 java 消息队列客户端(beanstalk),现在我的测试看起来像这样:

  //确保我们的getJob可以处理utf8字符
  @测试
  公共无效测试UTF8(){
    豆=新豆茎();
    工作工作 = 新工作();
    bean.putJob("€");
    工作 = bean.getJob();
    assertEquals("€", job.msg);
    bean.close();
  }

我读到您不应该测试实际队列本身,因为它不是我编写的代码,但我确实编写了客户端代码——有没有更好的方法来编写这个?我真的需要测试来保证自己,但除了风格之外,为我的 CI 设置也是一件痛苦的事情。

4

1 回答 1

2

我认为编写单元测试来确定/记录外部库的行为没有任何问题。如果您在代码库中包含该测试,那么您将记录您的队列需要支持 UTF8 的事实;如果您将来更改为不同的排队机制,该测试将中断并需要重写,迫使新排队机制的实现者考虑新系统是否也可以处理 UTF8。这是一件好事,在我看来。

至于在 CI 中进行设置,我的建议是将其归类为集成测试,并在安装了队列支持的 CI 机器上运行它,如果你有的话。

于 2009-02-10T17:49:16.930 回答