我能做一个超级"特征? 多个功能使用相同的背景步骤,我可以在不同的文件中创建它们并运行文件吗?
答案 0 :(得分:0)
没有“超级功能文件”的概念,您可以在其中提及可以在其他功能文件中使用的后台步骤。在Ruby中,您可以从另一个场景调用步骤,但Java不支持它。
您可以通过使用带标记的Before钩子来实现您的目标。在这个before hook方法中,您可以编写可重用的代码。请记住将相同的标记添加到所需的方案中,并在cucoptions中运行带有标记的测试。
这样做的一大缺点是任何功能文件中都不再显示这些步骤。你必须进入代码才能找到它,特别是如果你有不熟悉的人或访问你的代码正在编写方案的问题。如果后台步骤是技术设置等,猜猜你可以使用它。
答案 1 :(得分:0)
假设您有一个想要分享的背景,其外观类似于
using System.Numerics;
...
BigInteger value = BigInteger.Parse("111111111111111111111111111111111");
// 111111111111111111111111111111111
Console.WriteLine(value.ToString());
他们分享这种方式是将其变成命名问题。我们需要做的就是给整个背景一个名字。在这个愚蠢的例子中,让我们使用' wibble'
现在我们可以做到
Background:
Given foo
And bar
And baz
...
并实现(理想情况下使用辅助方法)
Background:
Given wibble
在执行此操作时,您发现了对您来说很重要的内容(wibble)。你也解决了你的问题,创造了一些可以在更复杂的背景下使用的东西,例如。
Given 'wibble' do
foo
bar
baz
...
end
没有超级功能的原因'是因为没有必要:)