我有一个带参数的故事:
Given save in the <fileName> the data from <sqlQuery>
Then...
Examples:
fileName |sqlQuery
file.txt |query1
我使用 maven -Denvironment=DEV
在特定环境中运行我的测试。
现在我想使用 -Denvironment=UAT
在 UAT 上运行这个测试,但问题是 sqlQuery 是不同的。如何在 java 代码中指示如果 -Denvironment=DEV
则使用 query1 但如果 -Denvironment=UAT
则使用 JBEHAVE 故事使用 query2?
有人帮我吗?
最佳答案
在我看来,最简单和最巧妙的方法是直接在故事/场景中为每个环境提供不同的参数,
并根据环境在 java 代码中选择合适的参数。
我们将此方法用于 3 个测试环境:DEV、UAT、PRE,它对我们非常有效。
当故事失败时,您无需深入研究日志或实现来查找使用了哪个参数值,一切都在 JBehave 报告中可见。
此外,更改参数也更容易,测试人员只需更改这个故事,他不需要研究代码中的实现。
Given save in the <fileName> the data from the query:
- DEV:<DevSqlQuery> UAT:<UatSqlQuert> PREPROD:<PreSqlQuery>
Then...
Examples:
|fileName |DevSqlQuery|UatSqlQuery|PreSqlQuery|
|file.txt |query1 |query2 |query3 |
关于java - 参数化 JBehave 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46832876/