我是Spark流媒体框架的新手,正在尝试处理推特流。我正在编写测试用例,并了解我可以使用Spark StreamingSuite Base,这将帮助我将输入测试为函数流。但我编写了一个函数,它以DStream[状态]作为输入,处理后将DStream[字符串]作为输出。我在StreamingSuite数据库中使用的api是testOperation。
test("Filter only words Starting with #") {
val inputTweet = List(List("this is #firstHash"), List("this is #secondHash"), List("this is #thirdHash"))
val expected = List(List("#firstHash"), List("#secondHash"), List("#thirdHash"))
testOperation(inputTweet, TransformTweets.getText _, expected, ordered = false)
这是发送输入的函数。。
def getText(englishTweets: DStream[Status]): DStream[String] = {
println(englishTweets.toString)
val hashTags = englishTweets.flatMap(x => x.getText.split(" ").filter(_.startsWith("#")))
hashTags
}
但是由于DStream[状态]和DStream[字符串],我得到了错误“类型不匹配”。我如何模拟流[状态]。
因此,我通过从推特对象工厂(TwitterObjectFactory)的“创建状态”(createStatus)API获取推特状态来解决了这个问题。没有必要模拟TwitterStatus。即使您设法模拟它,也存在序列化问题。因此,这是最好的解决方案:
val rawJson = Source.fromURL(getClass.getResource("/tweetStatus.json")).getLines.mkString
val tweetStatus = TwitterObjectFactory.createStatus(rawJson)
希望这对某人有帮助!
问题内容: 我正在使用JavaScript测试运行程序“摩卡”。 我的测试失败了,因此我将使用进行调试。 但是运行测试时,没有输出(仅来自Mocha的测试结果)。看来Mocha已捕获并抑制了我的输出! 如何让Mocha显示输出?(对于失败的测试)? 编辑: 抱歉!- 在测试期间可以正常工作!我肯定一直期望它抑制输出,而且我没有正确检查自己的代码。感谢您的回应。所以…话虽如此…也许抑制通过测试的输出
问题内容: 建议使用哪些方法来加快测试速度。 当连接断开或发生超时错误等时,我正在测试具有重试功能的网络库。但是,该库在重试之间使用a (因此在服务器重新启动时它不会连接数千次)。这个电话大大降低了单元测试的速度,我想知道有什么方法可以覆盖它。 请注意,我愿意实际更改代码,或使用模拟框架模拟Thread.sleep(),但想先听听您的意见/建议。 问题答案: 通常将与时间相关的功能委托给单独的组件
问题 假如你正在使用 CoffeeScript 并且想要验证功能是否与预期一致,便可以决定使用 Nodeunit 测试框架。 讨论 Nodeunit 是一种 JavaScript 对于单元测试库( Unit Testing libraries )中 xUnit 族的实现,Java, Python, Ruby, Smalltalk 中均可以使用。 当使用 xUnit 族测试框架时,你需要将所需测试的
问题 假如你正在使用 CoffeeScript 写一个简单地计算器,并且想要验证其功能是否与预期一致。可以使用 Jasmine 测试框架。 讨论 在使用 Jasmine 测试框架时,你要在一个参数(spec)文档中写测试,文档描述的是代码需要测试的预期功能。 例如,我们希望计算器可以实现加法和减法的功能,并且可以正确进行正数和负数的运算。我们的 spec 文档如下列所示。 # calculator
我有下面一个班的方法。 使用mockito的junit测试用例将提供100%的代码覆盖率。
和should接口都利用链接来构造类似英语的句子来描述测试。 一旦你决定了一个风格,你应该保持这种风格为所有其他测试。 每种风格都有自己独特的语法; 请参阅该 。
当你想要使用接近真实数据库的东西来测试组件,同时又不想造成实际数据库输入输出的操作开销时,内存(InMemory)提供程序会很有用。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。 InMemory 不是关系数据库 EF Core 数据库提供程序并非就是关系数据库。InMemory 是设计用于测试的通用数据库,而不是模拟关系数据库。 与此相关的样例包括: InMemory将允许您保存
SQLite 有一个内存模式,它允许你使用 SQLite 来编写针对关系数据库的测试,并且不会造成实际数据库的操作开销。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。 样例测试场景 考虑以下服务,其允许应用程序代码执行一些 blog 相关的操作。其内部使用的是链接到 SQL Server 数据库的 DbContext。将上下文切换链接到内存 SQLite 数据库将会很有用,这样的话