问题标签 [akka-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 回答
167 浏览

scala - akka 和 testkit。不能得到演员孩子

我有一个带有接收方法的演员:

我有详细的日志输出,我可以清楚地看到孩子们已经创建并且正在运行。但

始终为零。为什么?我正在使用 TestKit 运行我的演员。

0 投票
1 回答
502 浏览

akka - Akka Http:如何测试带有流向 3rd 方服务的路由?

我在 akka-http 应用程序中有一条路线,它通过Http().cachedHostConnectionPoolHttps. 我想以正确的方式对其进行测试。但不确定应该如何:(

这是这条路线的样子:

这条路线的背后隐藏accessTokenActor了所有逻辑发生的地方,这里是:

所以问题是如何更好地测试这条路线,记住带有流的演员也存在于它的引擎盖下。

0 投票
1 回答
1345 浏览

scala - 修改akka testkit中的询问超时

我已经尝试了六种不同的方法,但我似乎无法修改演员询问的默认超时值。这意味着它几乎总是在 CI 服务器上失败。

这是我当前的迭代。有几个尝试捆绑在一起。他们都没有做任何事情来修改从 1 秒开始的超时值。

基础测试类

规格

src/test/resources/test-application.conf

规格在我的笔记本电脑上完成,但在 Travis 上失败:

编辑:奇怪的是错误消息中引用的行是TestActors.scala:10- 那是基本测试类的类定义。

如果我能让系统理解 1 秒太快,我会很高兴。

0 投票
1 回答
275 浏览

scala - 在异步 ScalaTest 中路由 TestKit

我正在将一些 Akka HTTP 代码的同步ScalaTest测试切换到AsyncFunSpec。是否也有一种简单的方法可以使Akka TestKit测试异步?我说的是这样的代码:

我基本上需要的是一个版本,check它返回 aFuture而不是调用await. 或者一个辅助函数,它将一个HttpRequestlikeGet("/test")转换为一个RequestContext,以便我可以将路由应用到它。

0 投票
1 回答
635 浏览

scala - 使用 Akka Actor 的单元测试组件

首先,我不是在问如何对 Akka Actor 进行单元测试。我知道这样做的技巧。我的问题略有不同。

我正在开发一个client不使用 Akka Actors 的 Scala 程序,我们称之为 . 但是,该程序使用了一个库,我们称它为server,它的接口是使用 Akka Actor 实现的。

然后,通过ask 模式, 与client交互server

现在,我想为Client班级写一些单元测试。单元测试意味着单独测试一个类。每个外部依赖项都应该被模拟。

如何模拟对mainActor内部Client类的引用?我如何在演员系统中注入一个模拟演员mainActor

提前致谢。

0 投票
1 回答
119 浏览

scala - Akka 文档中的测试代码运行异常

我正在学习 Akka 演员模型中的测试方法。我试图从 Akka 文档中运行一些代码。当我运行以下代码时,会出现一个令人困惑的错误。我正在使用 JDK 1.8.121、macOS 和 Scala 2.12。

Akka 文档中的代码:

我在自己的电脑上设置了测试:

我使用两种assert:一种是Akka文档中的代码,另一种是我自己使用的相等性测试Try

我对是什么有一个想法Try。据我所知,Try是一种可以是Success或的类型Failure

测试错误如下:

Some(Success("world"))不等于Some(Success(world))。怎么了?他们应该是平等的。

0 投票
1 回答
73 浏览

scala - Akka 测试 TCP 命令失败

我正在尝试编写我的第一个 Akka 测试并浏览文档。我正在运行它的第一个示例并收到以下错误:

[错误] [10/26/2017 14:08:55.371] [IngestionWorkerActorSpec-akka.actor.default-dispatcher-4] [akka://IngestionWorkerActorSpec/user/$b] 断言失败:expectMsg 期间超时(3 秒)在等待测试消息时 java.lang.AssertionError:断言失败:在 expectMsg 期间等待测试消息时超时(3 秒)

下面是我的测试演员的接收方法:

测试规格:

我想测试我的演员是否收到发送给它的消息,后来我想修改它以查看我是否收到特定消息。任何帮助表示赞赏。

0 投票
1 回答
1808 浏览

scala - 使用 testkit 和 scalatest 进行 Akka 流测试

我在使用 scalatest 测试我的 akka 流应用程序时收到 NullPointerException 并且不明白为什么......我可能错过了 Akka Streams 中的某些内容,我只是在深入研究它。

我使用scala 2.12.4和sbt 1.0.3的scalatest代码的通用结构这是我的应用程序

还有我的测试文件

和错误信息

0 投票
1 回答
230 浏览

unit-testing - TestKit.expectMsgClass in Akka

In the code below:

If I comment out line 4, the test fails. Line 3 is enough to send the message to the actor. So what exactly line 4 is doing?

0 投票
1 回答
586 浏览

scala - 在 akka-http 路由检查中嵌入多个测试

我是第一次使用 akka-http——我通常选择的 web 框架是http4s——而且我很难用我通常编写端点单元测试的方式来使用 akka-http-testkit 提供的路由测试。

通常,我使用 ScalaTest(FreeSpec 风格)来设置端点调用,然后对响应运行几个单独的测试。对于 akka-http-testkit,这看起来像:

这与错误

问题是块内的嵌套测试check- 出于某种原因,像status和之类的值responseAs仅在该块内的顶层可用。我可以通过将我感兴趣的值保存到顶级局部变量来避免错误,但是如果响应解析失败,这很尴尬并且能够使测试框架崩溃。

有没有办法解决这个问题,而不将我的所有断言放入一个测试或为每个断言执行一个新请求?