鉴于包含多个场景的故事,我如何运行特定的 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":"[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 (将#修改为@)