在可执行的Docker镜像上创建黄瓜测试

时间:2018-04-17 06:13:14

标签: docker cucumber cucumber-java cucumber-junit

我想知道如何在Docker可执行映像上创建黄瓜测试?

public class GenerateNumber {
    public static void main(String[] args) {
        if (args != null && args.length > 0) {
            String input = args[0];

            if(input.equals("ODD")) {
                //GENERATE ODD NUMBERS FROM 0 TO 1000
            }else {
                //GENERATE EVEN NUMBERS FROM 0 TO 1000
            }
        }
    }
}

假设我有这个简单的类文件...我将它打包到一个可执行的Jar文件中,并将此类用作我的应用程序中的入口点。 java文件被部署为将运行我的类的容器化图像。

现在,从Cucumber Test的角度来看,如何为这种情况创建步骤定义文件?

这是码头图片对吗?我想出一个如何进行这项测试的策略。 来自做过类似要求的人的任何提示?

2 个答案:

答案 0 :(得分:1)

如何连接到您的示例取决于您何时要验证它是否有效。

我的策略是在应用程序的构建期间执行此操作。这减少了Docker的等式,任何关于Cucumber的Java教程都将适用。我的博客上有很多tutorials。也许this帖可以提供一些帮助。使用现代版本的工具。

如果要在Docker中运行应用程序时从Cucumber步骤连接到应用程序,则需要一些方法来进行连接。这与从外部连接到任何服务器应用程序相同。一个例子可以是从Cucumber步骤驱动Selenium并验证Web应用程序。此post可能有助于了解如何验证不同类型的应用程序。有点过时了,但这些想法保持不变。

答案 1 :(得分:0)

很难理解您要实现的目标

如果您的docker映像是一个执行的“黑匣子”,并且您需要分析结果,则必须构建一个单独的在主机上执行的黄瓜测试项目。

黄瓜步骤定义方法可以调用一些方法,这些方法可以启动docker映像,登录到容器,拉出文件,读取日志等,然后可以对其进行断言。您可以使用Spotify泊坞窗客户端库执行此操作。