首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试并发问题

问测试并发问题
EN

Stack Overflow用户
提问于 2020-06-15 14:28:10
回答 2查看 132关注 0票数 0

我们的系统中存在并发问题。这种情况主要发生在来自外部系统的API中的突发负载期间,并且不能手动复制。

所以我想为1)创建一个Gatling测试,在我想要的时候复制它,并且2)检查我们是否解决了这个问题。

1)我完成了第一点。我创建了两个检查状态201的请求,并与许多用户一起运行它们。

2)这个问题允许创建两个具有相同唯一值的资源。预期的行为是创建一种行为,而其他行为则会在状态409中失败。但我不知道我们如何检查任何请求,但至少一次,完成201,而所有其他的失败与409。

我们能用Gatling对所有请求进行一种事后检查吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-15 22:21:45

我认为您无法通过对调用本身进行检查来实现您想要的结果,因为gatling用户无法看到返回给其他用户的结果,因此您无法知道成功的(201)请求是否已经发出(除了使用检查转换器进行一些非常混乱的黑客攻击之外)。

但是您可以使用模拟级别断言来完成这一任务。因此,在您的请求中,您断言您期望得到201响应。

代码语言:javascript
复制
http("my request")
  .get("myUrl")
  .check(status.is(201))

这将导致除一个请求之外的所有这些请求在模拟中失败,您可以使用断言指定.

代码语言:javascript
复制
setUp(
  myScenario.inject(
    ...
  )
)
.assertions(
  details("my request").successfulRequests.count.is(1))
票数 0
EN

Stack Overflow用户

发布于 2020-06-16 08:04:53

存储已在全局ConcurrentHashMap中看到的结果,并根据CHM中的存在计算is检查中的期望值(201表示缺失,409表示现有)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62390369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档