我有一些用Jbehave
写的场景,我想为1000+数据运行它。问题是我无法在"示例"中列出所有数据项,因为首先,它不可维护,其次,我每天都从外部服务获取此数据文件。
有没有办法编写可以从文件中获取数据的方案?
可以从外部文件加载参数,
有关示例的详细信息如下:http://jbehave.org/reference/stable/parametrised-scenarios.html
从外部资源加载参数
参数表也可以从外部资源加载,即 它是类路径资源或 URL。
Given a stock of <symbol> and a <threshold>
When the stock is traded at <price>
Then the alert status should be <status>
Examples:
org/jbehave/examples/trader/stories/trades.table
我们需要使解析器能够找到具有适当 通过示例表工厂配置的资源加载器:
new MostUsefulConfiguration()
.useStoryParser(new RegexStoryParser(
new ExamplesTableFactory(new LoadFromClasspath(this.getClass())))
)
我也有同样的要求,我认为以下是可能的解决方案。
在场景开始执行之前实现一个方法来读取 excel 工作表并准备 testData.table,在步骤 java 文件中使用 jbeact 注释@BeforeScenario。
请参阅此链接以实现从外部资源加载数据 http://jbehave.org/reference/stable/parametrised-scenarios.html
@BeforeScenario
public void prepareTestData(String excelSheetPath) {
// java code to read given excelSheetPath and prepare a *.table
}