在可执行Docker映像上创建Cucumber测试

在可执行Docker映像上创建Cucumber测试,docker,cucumber,cucumber-java,cucumber-junit,Docker,Cucumber,Cucumber Java,Cucumber Junit,我试图想出一个主意,如何在Docker可执行映像上创建Cucumber测试 public class GenerateNumber { public static void main(String[] args) { if (args != null && args.length > 0) { String input = args[0]; if(input.equals("ODD")) {

我试图想出一个主意,如何在Docker可执行映像上创建Cucumber测试

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测试的角度来看,如何为这种情况创建步骤定义文件

这是docker的图片,对吗?我提出了一个如何做这个测试的策略。
完成类似要求的人员是否提供了任何提示?

您如何连接到示例取决于您希望何时验证它是否有效

我的策略是在应用程序的构建期间执行。这减少了Docker的等式,任何关于Cucumber的Java教程都将适用。我的博客上有很多内容。也许这篇文章能有所帮助。使用现代版本的工具


如果希望在Docker中运行应用程序时从Cumber步骤连接到该应用程序,则需要某种方法来进行连接。这与从外部连接到任何服务器应用程序相同。例如,从Cumber步骤中驱动Selenium并验证web应用程序。这可能有助于理解如何验证不同类型的应用程序。还是有点过时,但想法还是一样。

要理解你想要实现的目标有点困难

如果您的docker映像是一个执行的“黑盒”,并且您需要分析结果,那么您必须构建一个单独的cucumber测试项目,该项目将在主机上执行

cucumber step definitions方法可以调用可以启动docker映像、登录到容器、拉出文件、读取日志等的方法,然后可以对这些方法进行断言。您可以使用Spotify docker客户端库来实现这一点