如何解决鉴于包含多个场景的故事,我如何运行特定的 Jbehave 场景
我正在使用 Jbehave 故事和测试用例测试几个 API。我有一个故事文件和该故事文件的配置(附在下面),在那个故事文件中,我只想运行 Scenario,它说:
Scenario: Testing the models API'S status code
Given The model API URL <URL> whose status code is to be tested
When The API req is made to the model API
Then Correct Status code <status> is returned
我怎样才能做到这一点?我读到了一些 Melta 过滤器和 @current 注释,但它让我感到非常困惑。谁能给我一步一步地解释如何只运行一个故事场景,并解释我可能需要添加到我的故事文件中的任何额外配置,谢谢!!
我的故事文件:
Scenario:Testing the application type and output for api request with 443018111 id
Given The valid authorized <URL>
When The request is made
Then <applicationType> is json and body is as in documentation which is <content>
Examples:
|URL|applicationType|content|
|https://sandbox.predera.com/aiq/api/projects/summary|content-type: application/json|{"owner":"ppallavalli@umass.edu","summary":{"failing_models":[],"languages":{},"project_id":"a-443018111","environments":{},"libraries":{"KERAS":1,"SKLEARN":1},"no_of_experiments":2,"no_of_models":0,"last_activity_date_experiments":"2021-06-09T17:38:08.988Z","last_activity_date_models":""},"name":"churn-juyma","description":"Customer Churn Example","last_modified_date":"2021-06-09T17:38:06.048Z","id":"a-443018111","created_date":"2021-06-09T17:38:06.048Z","last_modified_by":"ppallavalli@umass.edu","created_by":"ppallavalli@umass.edu","users":["ppallavalli@umass.edu"]}|
|https://sandbox.predera.com/aiq/api/projects/a-443018111|content-type: application/json|{"owner":"ppallavalli@umass.edu","users":["ppallavalli@umass.edu"]}|
Scenario: Testing the arg/counts api's application type and content
Given The arg/count api URI <URI>
When It is called using get req
Then application type is <type> and body is <contentt> as in documentation
Examples:
|URI|type|contentt|
|https://sandbox.predera.com/aiq/api/projects/aggs/count|content-type: application/json|{"count":1}|
|https://sandbox.predera.com/aiq/api/projects/aggs/count|content-type: application/json|{"count":2}|
|https://sandbox.predera.com/aiq/api/projects/aggs/count|content-type: application/json|{"count":3}|
Scenario: Testing the models API'S status code
Given The model API URL <URL> whose status code is to be tested
When The API req is made to the model API
Then Correct Status code <status> is returned
故事配置文件:
public class GetProjectStory extends JUnitStories {
@Override
public Configuration configuration() {
return new MostUsefulConfiguration().useStoryLoader(new LoadFromClasspath(this.getClass())).useStoryReporterBuilder(new StoryReporterBuilder().withCodeLocation(CodeLocations.codeLocationFromClass(this.getClass())).withDefaultFormats().withFormats(StoryReporterBuilder.Format.CONSOLE,StoryReporterBuilder.Format.HTML));
}
@Override
public InjectableStepsFactory stepsFactory() {
return new InstanceStepsFactory(configuration(),new PrederaAiqApplicationTests());
}
@Override
@Test
public List<String> storyPaths() {
return new StoryFinder().findPaths(CodeLocations.codeLocationFromClass(this.getClass()).getFile(),"**/get_project_story.story","");
}
@Override
@Test
public void run() {
try {
super.run();
} catch (Throwable e) {
e.printStackTrace();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。