空手道testParallel赛跑者可能出现问题

时间:2019-07-18 22:11:29

标签: karate

我会为无法发布实际代码而道歉,因为这是机密信息,但是我想看看是否有人发现了相同的问题。我在项目中查找了可能是这样的任何打开/关闭的问题,但没有发现任何问题。

我注意到,当我使用 空手道testParallel运行器 (我们已经使用了一段时间)时,发出的每个GET,POST,DELETE请求都会被调用在空手道记录中观察到2倍。

是在场景中直接调用请求,还是通过call / callonce从另一个功能文件间接调用请求,都没有关系。

当我 使用空手道testParallel跑步者时,只会发出一个请求。

在执行POST以在我们的应用程序中创建数据源时,我注意到了这一点。当我进入应用程序用户界面以验证是否创建了新数据源时,我看到了其中两个。这使我走上了进一步研究可能发生的情况的路径。

为了排除我们的API在数据源创建方面加倍的麻烦,通过完全不同的内部工具创建了一个数据源,并且仅创建了一个数据源。这使我回到空手道,看看是什么原因导致了重复创建并观察了问题。

最重要的是,我 认为 ,并行运行程序导致请求发生两次。

使用空手道v0.9.3

2 个答案:

答案 0 :(得分:0)

您不应该使用@RunWith(Karate.class)批注。这是mentioned in the docs。幸运的是,当每个人都切换到JUnit 5时,这种困惑将消失。

答案 1 :(得分:0)

最初发布此问题时,我肯定使用的是JUnit 4并行执行类 而没有 @RunWith(Karate.class)注释。这与com.intuit.karate:karate-junit4依赖关系结合在一起,我肯定收到了多个POST请求。

在重新审视此问题时,我最近更新了我的依赖项以使用com.intuit.karate:karate-junit5,并更新为使用 JUnit 5 Parallel Execution类(同样,没有使用@RunWith(Karate.class)注释),并且我很高兴地报告,我不再看到多个POST请求。