【问题标题】:How to setup a reusable Geb test script (to be used by other test scripts)如何设置可重用的 Geb 测试脚本(供其他测试脚本使用)
【发布时间】:2019-03-28 04:01:04
【问题描述】:

所以我刚刚创建了一个测试报告创建的 geb 脚本。让我们称之为Script A

我需要运行其他测试用例,这些测试用例依赖于之前创建的报告,但我仍然希望 Script A 成为独立测试。我们将调用后续脚本Script B

此外,Script A 会生成一对数字,这些数字将在后续脚本中使用(以验证数据记录是否准确)

有没有一种方法可以设置 geb,使 Script B 执行“脚本 Aand is able to pull those 2 numbers fromScript Ato be used inScript B”?

总而言之,将有一些脚本依赖于Script A 的操作(这本身就是一个测试)我希望能够模块化Script A,以便可以从其他脚本执行它。最好的方法是什么?

【问题讨论】:

  • 我想补充一点,我想避免重复自己。我知道给定的 GEB 规范旨在能够独立于其他任何东西。但是由于任何后续规范都需要此报告创建过程,因此我必须将Script A 复制并粘贴到所有后续脚本的 setupSpec 中,这就是我想要避免的。但由于Script A 是一个测试,它不应该是页面对象的一部分。这就是我在 Specs 相互独立时遇到的两难境地。我觉得有些情况(比如这个)specs应该按顺序执行
  • script 是什么意思?它是 groovy 脚本文件还是 class

标签: spock geb


【解决方案1】:

为了重用而不是重复自己,我会将报告创建放入新类(例如 ReportGenerator)中的单独方法调用中,这将在给定一组参数(如果需要)的情况下生成报告并返回报告数字以供使用任何你喜欢的测试。

然后你可以在任何你想要的规范中调用它,而不依赖于其他规范。

【讨论】:

  • 是的,这就是我最终所做的。不过,从技术上讲,我不得不重复自己一次,因为我有规范,现在我有一种方法可以与规范做同样的事情。所以如果有什么变化,我将不得不更新这两个地方,但没关系
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 2021-10-16
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多