java - 测试 DDS 阅读器接收消息以进行 Java 单元测试

标签 java unit-testing publish-subscribe data-distribution-service

我有一个单元测试,我可以在其中测试当前发送 DDS 消息。但是,我也想实现测试消息阅读器的能力。

问题是,由于用于创建 DDS 读取器和写入器的程序设置。如果我试图让读者成为我需要的人,他们已经拥有与作者相同的 topic 并且因此抛出异常。

有没有人想出一种方法来模拟向读者发送 DDS 消息,就好像它们来自 DDS 编写器一样?在一台计算机中,不要使用网络上的单独计算机来执行此操作。

最佳答案

您可以使用 lookup_topicdescription()DomainParticipant 上获取对先前创建的 Topic 的引用(如果存在)。在伪代码中,你可以做类似的事情

use lookup_topicdescription() to see if topic exists
if topic does not exist
  use create_topic() to create the topic

如果您的应用程序在多线程中执行此操作,那么您将必须获取并释放此代码周围的锁。

关于java - 测试 DDS 阅读器接收消息以进行 Java 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578939/

相关文章:

android 发布/订阅模式

java - 如何保证两条语句顺序执行而不被另一个线程打断

java - JAX-WS:在返回的 ArrayList 周围放置一个包装器

java - 从直接 channel 流返回值并在 Spring Integration 中继续处理异步流

javascript - 在 sinon.js 中使用 ES 模块时如何 stub 常量函数?

python - 单元测试中奇怪的对象实例行为

rss - Feedly 使用 SuperFeeder (Pubsubhubbub)。 feedly 如何允许用户订阅未使用 pubsubhubbub 发布的 RSS 提要?

Java Servlet 向 JSP 页面发送数据

iOS 自动化测试题

python - zeromq pub/sub with multipart 不工作