这里是我在akka-http中的端点:
private val route = Route.asyncHandler(
pathPrefix("v0") {
headerValueByType[JWTTokenObject](()) { jwtHeader =>
mapRequest(authorize(jwtHeader.value)) {
authenticateOrRejectWithChallenge(authenticate(transactionId, _)) { claims =>
pathPrefix("v1"/Segment) { someValue =>
path("v3") {
post {
handleThisPostRequest(someValue)
}
}
}
}
}
}
)这是POST API之一,它使用作为头值传递的JWT 'Bearer‘令牌进行身份验证。我想把这个测试到底。它还调用DBs和第三方服务。
我正在尝试添加任何API测试框架,以便能够在任何环境中测试这一点。您能建议实现这种类型的集成测试的框架吗?在调用第三方API时涉及环境变量。
是否可以使用喷雾测试试剂盒(Test API REST SCALA)来测试?举个例子会有帮助。谢谢
发布于 2022-01-13 17:37:22
嗯,Akka (https://doc.akka.io/docs/akka-http/current/routing-dsl/testkit.html)有一个很好的套件,用于路由Actor测试。我建议你用它。
关于环境变量:如果您需要在测试中调用远程服务,因为这是一个集成或E2E测试,请使用Scala:https://github.com/lightbend/config#optional-system-or-env-variable-overrides的功能。
关于如何处理这类项目中的测试,有很多策略,但是,万一ok Akka有很好的资源可以阅读它。
https://stackoverflow.com/questions/70691162
复制相似问题