- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个关于用 Java 编写的 Storm 拓扑中的 Bolts 和 Spouts 单元测试的一般问题。
单元测试(JUnit?)Bolts 和 Spouts 的推荐实践和指南是什么?
例如,我可以为 Bolt
编写 JUnit 测试,但无需完全理解框架(例如 Bolt
的生命周期)和序列化含义,很容易犯了基于构造函数创建不可序列化成员变量的错误。在 JUnit 中,这个测试会通过,但在拓扑中,它不起作用。我完全想象有很多测试点需要考虑(例如这个带有序列化和生命周期的示例)。
因此,如果您使用基于 JUnit 的单元测试,是否建议您运行一个小型模拟拓扑 (LocalMode
?) 并测试 Bolt
的隐含契约(或 Spout)在该拓扑下?或者,使用 JUnit 是否可以,但这意味着我们必须模拟 Bolt 的生命周期(创建它、调用 prepare()
、模拟 Config
,等)仔细?在这种情况下,被测类(Bolt/Spout)需要考虑哪些一般测试点?
其他开发人员在创建适当的单元测试方面做了什么?
我注意到有一个拓扑测试 API(参见:https://github.com/xumingming/storm-lib/blob/master/src/jvm/storm/TestingApiDemo.java)。是否最好使用一些 API,并为每个单独的 Bolt
和 Spout
建立“测试拓扑”(并验证 Bolt 必须提供的隐式契约) ,例如 - 它是声明的输出)?
谢谢
最佳答案
自版本 0.8.1 起,Storm 的单元测试工具已通过 Java 公开:
有关如何使用此 API 的示例,请查看此处:
关于unit-testing - 测试 Storm bolt 和喷口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549265/
我是 Storm 的新手,一直在探索其功能以满足我们的 CEP 要求。我偶然发现的不同示例将 spouts 实现为来自消息代理、数据库的轮询服务。如何实现基于推送的喷口,即在喷口内运行的 Thrift
我是 Storm 的新手,一直在探索其功能以满足我们的 CEP 要求。我偶然发现的不同示例将 spouts 实现为来自消息代理、数据库的轮询服务。如何实现基于推送的喷口,即在喷口内运行的 Thrift
我是用php guzzle Client抓取网站,然后用symfony 2.1爬虫处理 我正在尝试访问一个表格....例如这里的这个测试表格 http://de.selfhtml.org/javasc
我们的 Storm 拓扑中有一个场景,其中 KafkaSpouts 无法使用来自主题的任何消息。 Spout 连续记录相同的 WARN 消息: Got fetch request with offse
我是一名优秀的程序员,十分优秀!