我有大量使REST调用的speclow/BDD测试用例。这些REST调用适用于内容类型application/json和application/xml。相同Specflow/BDD方案使REST调用首先使用应用程序/ XML,然后使用应用程序/ JSON
但我需要手动更改这些内容类型,并在每次需要测试JSON和XML时重新运行所有相同的场景。
有没有办法运行所有场景两次,首先运行ContentType应用程序/ json和第二次使用application/xml运行。
我有大量使REST调用的speclow/BDD测试用例。这些REST调用适用于内容类型application/json和application/xml。相同Specflow/BDD方案使REST调用首先使用应用程序/ XML,然后使用应用程序/ JSON
但我需要手动更改这些内容类型,并在每次需要测试JSON和XML时重新运行所有相同的场景。
有没有办法运行所有场景两次,首先运行ContentType应用程序/ json和第二次使用application/xml运行。
是的,但是在Specflow中没有任何东西可以自动支持它。
说了这么多,你可以轻松地重用你的脚步,并喜欢写东西
Given I am using JSON
And X
When Y
Then it should Z
Given I am using XML
And X
When Y
Then it should Z
甚至
@UsingJSON
Given X
When Y
Then it should Z
@UsingXML
Given X
When Y
Then it should Z
在这里,您检测其标签中的步骤,甚至使用Scoped Bindings使用
有没有这样的事情,“BDD测试案例”;只是系统如何运行的例子,我们有时称之为“场景”。
我建议首先围绕使用的不同系统的几个不同的示例进行一些对话。这将帮助你看到行为是否真的是一致的。捕获这些示例还可以帮助未来的开发人员了解真正的需求来自哪里,并设定对哪些源可能使用每种编码的期望。
如果您真的需要编写测试,请尝试在集成测试中包装代码的JSON和XML部分。 XML和JSON是技术问题,本地语言真的很难重构!所以可能你想使用像NUnit这样的东西。
现在你已经有了几个例子,它们显示了你的系统如何运行,并且还能够确保事物的连接正确,还有一些集成测试检查它是否适用于XML和JSON。集成测试适用于技术人员。如果某个非技术人员确实想要检查他们是否在工作,只要确保他们的名字正确并为他们提供了构建的URL。大多数商务人士可以阅读驼峰案例。
如果您绝对肯定必须同时使用JSON和XML运行每个场景,可以制作“JSON”场景树和“XML”场景树,使用符号链接或构建脚本来复制文件以确保它们运行来自相同的英语/本地语言源,然后分别提供使用XML或JSON运行的不同步骤定义。不过,我怀疑你对我的第一套建议会比较容易。