问题标签 [testkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
232 浏览

akka.net - Akka.NET TestKit 同步行为

我有以下 C# 代码来测试 AKKA.NET 演员的行为。该语句productActor.Tell(new ChangeActiveStatus(true));预计将是一个阻塞调用(TestKit 根据此博客将其设为同步调用),但我看到它立即返回。结果,第二次测试失败,尽管 ActiveStatus 稍后会更改。

****** 更新 *****

以下带有 Thread.Sleep(10000) 的代码成功:

0 投票
1 回答
342 浏览

ios - NSTextAttachment 使用 textkit 时覆盖文本

我想在 UITextView 中插入图像,所以我使用 textkit 和 NSTextAttachment。但是当我插入图片时,图片显示在 UITextView 内容的上方,效果如下: 在此处输入图像描述

代码是这样的:

0 投票
2 回答
191 浏览

scala - 是否可以将 sbt testOnly 与 Slick TestKit 一起使用?

当我执行时sbt testOnly *JoinTest*没有找到测试并显示以下输出,但com.typesafe.slick.testkit.tests.JoinTest应该已经执行:

0 投票
1 回答
213 浏览

scala - akka:以某些字段为模测试消息

我目前正在测试一个 akka 应用程序。我遇到了某种模式:我想测试 aTestProbe是否收到了某个消息,以某些字段为模。

例如,如果消息是:

然后我可能想测试usernameandscore是否符合预期,但不在乎何时收到消息。

目前我想写这样的东西:

如何扩展测试探针类以便可以编写类似的东西?

除了缩短我的代码之外,我希望这个问题的答案能进一步加深我对 Scala 编程语言的理解。

0 投票
2 回答
987 浏览

scala - Akka Scala TestKit 测试 PoisonPill 消息

鉴于我有一个Supervisor注入了一个child演员的演员,我如何向孩子发送 PoisonPill 消息并使用 TestKit 对其进行测试?

这是我的主管。

这是我的测试代码

问题是PoisonPill没有收到消息。可能是因为探测被PoisonPill消息终止了?

断言失败

0 投票
1 回答
310 浏览

c# - Akka 网络集成测试

我有一个相当简单的场景,我想做一个直接的集成测试。高级概述是:

  • 我有一个actor响应名为PlaceOrder
  • 我想publishes在收到另一条消息时验证这个演员PlaceOrder,在这种情况下OrderPlaced

问题是,对于集成测试,我可以断言消息已通过ExpectMsg<OrderPlaced>. 但是,我也期待它调用任何处理该消息的演员?

也许我对TestKit这里的理解是不正确的,但是当从它继承时,你会得到:

  • ActorOfAsTestActorRef<T>
  • ActorOf<T>
  • Sys.ActorOf(...)

我的印象是,ActorOf<T>并且Sys.ActorOf(...)会表现得像一个真正的演员系统,而ActorOfAsTestActorRef<T>对于严格的单元测试和吞下演员可能反过来发送的任何消息来说,这将是理想的。

例如,这些是我有问题的 2 个演员:

我的测试看起来像这样。奇怪的是我必须自己编排这个集成测试,即我检查它OrderPlaced是否已经发布,然后明确地发送一条消息到Foo

我所期待的是,通过发送应该在它处理时PlaceOrder调用的消息。我不需要在测试中注释掉这些位吗?FooOrderPlaced

可以这样做还是我完全错了?

在此先感谢,DS。

0 投票
1 回答
142 浏览

java - powermockito 用于 akka actor 中的私有方法

我有以下演员

现在要对这个演员进行单元测试,我应该模拟“doSomethingNow”方法吗?从 PowerMockito 文档看来,我还需要模拟作为演员的类,但 TestKit 已经提供了一个围绕模拟演员的框架,测试这个演员的正确方法是什么?

0 投票
1 回答
311 浏览

unit-testing - Akka.NET 持久性单元测试 - PersisteAll/PersistAllAsync 永远不会运行

我在使用 PersistAll 和 PersistAllAsync 方法的 ReceivePersistentActor 实现的某些单元测试中遇到问题。

问题是当使用 TestKit.NUnit 进行单元测试时,PersistAll/Async 调用永远不会调用它们的完成回调。然而,Persist/Async 调用工作正常,并且 PersistAll/Async 调用在单元测试之外工作正常。

这与 TestKit 以及它尝试在 CallingThreadDispatcher 上运行的方式有关吗?

我不确定如何为使用 PersistAll/Async 的代码编写单元测试 - 由于从未调用过回调(我有我的 Sender.Tell 代码),测试总是因超时而失败。

我没有做任何奇怪的事情 - 我正在使用内存日志和快照存储,它们在默认调度程序上运行(我尝试对这些使用调用线程调度程序,但在单元测试中根本没有任何工作) .

公共接口 IEvent;
公共类测试:ReceivePersistentActor {

0 投票
0 回答
31 浏览

scala - 制作一个 TestProbe 来忘记所有的消息

我正在以测试驱动的方式编写代码,在编写了许多测试之后,我引入了一个新的参与者,并且在我的测试环境中我使用了一个 TestProbe。现在在第 n 次测试中,我正在测试新演员是否收到一条消息。但他实际收到的消息并不是预期的,因为他在预期的消息之前收到了许多来自其他测试的消息。那么有没有办法告诉 TestProbe 忘记到现在收到的所有消息,而不指定数字,并从现在开始收听消息?

一些代码:

我可以,myTestProbe.receiveN(200)但我需要确切的消息数量,如果我之前添加另一个测试,这个数字可能会改变......这真的很糟糕。

我还可以重新创建 testProbe 和被测演员:

但出于其他原因,我宁愿避免它......还有其他建议吗?

0 投票
1 回答
133 浏览

scala - 如果从`stdin`读取并写入`stdout`,如何测试akka actor的行为?

我正在编写一个UCI解释器,作为 Akka 有限状态机。根据规范,解释器必须将其输出写入stdout,并从stdin.

我有一个演员的测试服,我可以测试其行为的某些方面(与消息相关),但我不知道如何捕获stdout做出断言,也不知道如何通过stdin. 我已经尽我所能探索了最大规模的 API,但找不到如何实现我所需要的。

这是当前的测试类:

当然,知道解释器可以退出是有用的……但不是很有用。我需要测试,例如,如果将字符串发送isready给解释器,它会返回readyok.

我是否有可能通过使用 akka.testkit 而不是更简单的框架使测试过于复杂?为了简单起见,我想继续使用单一的测试框架,并且我需要测试系统的许多其他与参与者相关的元素,所以如果可以在不离开 akka-testkit/scalatest 域的情况下解决这个问题,那就太棒了。

任何帮助将不胜感激。提前致谢。