问题标签 [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.
akka.net - Akka.NET TestKit 同步行为
我有以下 C# 代码来测试 AKKA.NET 演员的行为。该语句productActor.Tell(new ChangeActiveStatus(true));
预计将是一个阻塞调用(TestKit 根据此博客将其设为同步调用),但我看到它立即返回。结果,第二次测试失败,尽管 ActiveStatus 稍后会更改。
****** 更新 *****
以下带有 Thread.Sleep(10000) 的代码成功:
ios - NSTextAttachment 使用 textkit 时覆盖文本
我想在 UITextView 中插入图像,所以我使用 textkit 和 NSTextAttachment。但是当我插入图片时,图片显示在 UITextView 内容的上方,效果如下:
代码是这样的:
scala - 是否可以将 sbt testOnly 与 Slick TestKit 一起使用?
当我执行时sbt testOnly *JoinTest*
没有找到测试并显示以下输出,但com.typesafe.slick.testkit.tests.JoinTest
应该已经执行:
scala - akka:以某些字段为模测试消息
我目前正在测试一个 akka 应用程序。我遇到了某种模式:我想测试 aTestProbe
是否收到了某个消息,以某些字段为模。
例如,如果消息是:
然后我可能想测试username
andscore
是否符合预期,但不在乎何时收到消息。
目前我想写这样的东西:
如何扩展测试探针类以便可以编写类似的东西?
除了缩短我的代码之外,我希望这个问题的答案能进一步加深我对 Scala 编程语言的理解。
scala - Akka Scala TestKit 测试 PoisonPill 消息
鉴于我有一个Supervisor
注入了一个child
演员的演员,我如何向孩子发送 PoisonPill 消息并使用 TestKit 对其进行测试?
这是我的主管。
这是我的测试代码
问题是PoisonPill
没有收到消息。可能是因为探测被PoisonPill
消息终止了?
断言失败
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
调用的消息。我不需要在测试中注释掉这些位吗?Foo
OrderPlaced
可以这样做还是我完全错了?
在此先感谢,DS。
java - powermockito 用于 akka actor 中的私有方法
我有以下演员
现在要对这个演员进行单元测试,我应该模拟“doSomethingNow”方法吗?从 PowerMockito 文档看来,我还需要模拟作为演员的类,但 TestKit 已经提供了一个围绕模拟演员的框架,测试这个演员的正确方法是什么?
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 {
scala - 制作一个 TestProbe 来忘记所有的消息
我正在以测试驱动的方式编写代码,在编写了许多测试之后,我引入了一个新的参与者,并且在我的测试环境中我使用了一个 TestProbe。现在在第 n 次测试中,我正在测试新演员是否收到一条消息。但他实际收到的消息并不是预期的,因为他在预期的消息之前收到了许多来自其他测试的消息。那么有没有办法告诉 TestProbe 忘记到现在收到的所有消息,而不指定数字,并从现在开始收听消息?
一些代码:
我可以,myTestProbe.receiveN(200)
但我需要确切的消息数量,如果我之前添加另一个测试,这个数字可能会改变......这真的很糟糕。
我还可以重新创建 testProbe 和被测演员:
但出于其他原因,我宁愿避免它......还有其他建议吗?
scala - 如果从`stdin`读取并写入`stdout`,如何测试akka actor的行为?
我正在编写一个UCI解释器,作为 Akka 有限状态机。根据规范,解释器必须将其输出写入stdout
,并从stdin
.
我有一个演员的测试服,我可以测试其行为的某些方面(与消息相关),但我不知道如何捕获stdout
做出断言,也不知道如何通过stdin
. 我已经尽我所能探索了最大规模的 API,但找不到如何实现我所需要的。
这是当前的测试类:
当然,知道解释器可以退出是有用的……但不是很有用。我需要测试,例如,如果将字符串发送isready
给解释器,它会返回readyok
.
我是否有可能通过使用 akka.testkit 而不是更简单的框架使测试过于复杂?为了简单起见,我想继续使用单一的测试框架,并且我需要测试系统的许多其他与参与者相关的元素,所以如果可以在不离开 akka-testkit/scalatest 域的情况下解决这个问题,那就太棒了。
任何帮助将不胜感激。提前致谢。