问题描述
我正在使用 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":"[email protected]","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":"[email protected]","created_by":"[email protected]","users":["[email protected]"]}|
|https://sandBox.predera.com/aiq/api/projects/a-443018111|content-type: application/json|{"owner":"[email protected]","users":["[email protected]"]}|
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 (将#修改为@)