Java 有没有办法避免不同背景下的重复场景?
我们开始使用cucumber(Java)并非常喜欢它,但cucumber在一个非常重要的情况下似乎完全失败了: 基本上,我有一个为给定登录用户运行的场景,我需要用不同类型的登录用户运行所有相同的测试 然后,我需要运行大多数完全相同的场景,用户使用不同的角色登录(具有重叠权限的多个角色) 这将是干净和琐碎的背景大纲功能,但这似乎已被否认多年前() 我知道以前有人问过这个问题,但我一直在寻找非常老的线索(大约有6年了!),除了“复制所有场景”之外,没有其他答案 复制数百个场景在每个方面都是失败的,这会使测试库无法管理(一个场景中的更改需要传播到多个副本)。它在cucumber的核心通信目标中失败了,因为我们得到了大量的功能文件,这使得我们很难知道该应用程序正在做什么以及我们正在测试什么 在第一次投诉后的6年内,是否有合理的方法来管理 在这一点上,我试图删除背景并将其移动到每个场景中,并使用场景大纲,这很难看,测试不再清晰易懂,但至少我不需要复制场景 然后,我需要运行大多数完全相同的场景,用户使用不同的角色登录(具有重叠权限的多个角色) 您想测试一个权限,但实际上是在测试角色。在我看来,这是造成你大部分问题的原因。由于角色通常是配置好的,所以您可以利用此系统Java 有没有办法避免不同背景下的重复场景?,java,testing,background,cucumber,Java,Testing,Background,Cucumber,我们开始使用cucumber(Java)并非常喜欢它,但cucumber在一个非常重要的情况下似乎完全失败了: 基本上,我有一个为给定登录用户运行的场景,我需要用不同类型的登录用户运行所有相同的测试 然后,我需要运行大多数完全相同的场景,用户使用不同的角色登录(具有重叠权限的多个角色) 这将是干净和琐碎的背景大纲功能,但这似乎已被否认多年前() 我知道以前有人问过这个问题,但我一直在寻找非常老的线索(大约有6年了!),除了“复制所有场景”之外,没有其他答案 复制数百个场景在每个方面都是失败的,这
Given a customer service rep with the authority to grant refunds
And a customer reports a problems with the PX-11 Widget
When customer service resolves the problem by granting a refund
Then problem ticket is closed
And a refund request is lodged with finance
在给定步骤中,您将为客户服务代表创建一个可以授予退款的新角色
如果您担心角色之间可能会以奇怪的方式相互影响,您应该尝试在较低级别上解决并测试这一问题。这不应该是一个问题,回到你的验收测试
<>如果你不能这样做,你可能想考虑下面三个选项中的任何一个。它将以增加测试复杂性为代价,保持小黄瓜的可读性。但这种复杂性表明系统存在问题
对不起,我不知道;我不认为你有问题。基本上我有100个这样的测试背景:假设我们以管理员身份登录到应用程序场景1-100。。做事。在一种情况下,我需要背景:以经理身份登录场景1-70使用背景提纲做事情(完全相同的场景步骤)。这很简单,我可以在不同的背景下使用相同的场景。这似乎是不可能的,所以我必须复制我的场景,它会创建大量重复的代码,这不是一个站得住脚的测试解决方案。80%的重复测试代码是可怕的