首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为./gradlew检查的一部分,我如何运行grails-5应用程序的黄瓜测试?

作为./gradlew检查的一部分,我如何运行grails-5应用程序的黄瓜测试?
EN

Stack Overflow用户
提问于 2021-12-05 22:46:03
回答 1查看 40关注 0票数 1

我正在写一个Grails-5,我用黄瓜作为BDD。我在:https://www.baeldung.com/java-cucumber-gradle上学习了这个教程

我可以使用以下方法运行单元测试:

代码语言:javascript
复制
$ ./gradlew check

我可以通过在一个shell中启动服务器来运行我的黄瓜BDD测试:

代码语言:javascript
复制
$ ./gradlew server:bootRun

并调用另一个测试:

代码语言:javascript
复制
$ ./gradlew cucumberCli

是否有可能以这样一种方式配置build.gradle:让./gradlew check运行单元测试,然后启动服务器,然后运行黄瓜测试,最后恢复服务器?

如果有可能的话,如果黄瓜基础结构能够在每个测试之间启动和停止服务器,那就更好了。这样,每个测试都会在已知的状态下开始。

EN

回答 1

Stack Overflow用户

发布于 2021-12-06 12:40:28

通过将@Before@After步骤添加到@After文件中,我成功地完成了这一任务:

代码语言:javascript
复制
    def serverProcess

    private String getBaseUrl() {
        return "http://localhost/"
    }

    @Before
    public void startServer() {
        try {
            serverProcess=Runtime.getRuntime().exec("../gradlew bootRun")
        } catch (IOException e) {
            e.printStackTrace()
        }

        def done = false
        while(!done) {
            try {
                done = new URL(getBaseUrl()).openConnection().getResponseCode() == 200
            } catch(Exception e) {
                Thread.sleep(500)
            }
        }
    }

    @After
    public void stopServer() {
        serverProcess.destroy()
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70239224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档