在可执行 Docker 图像上创建 Cucumber 测试
Creating Cucumber Test on Executable Docker Image
我正在想出一个关于如何在 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
}
}
}
}
假设我有这个简单的 class 文件...我将它打包到一个可执行的 Jar 文件中,并使用这个 class 作为我的应用程序的入口点。
java 文件部署为容器化映像,它将 运行 我的 class.
现在,从 Cucumber 测试的角度来看,如何为这种情况创建步骤定义文件?
这是 docker 图片对吧?我正在想出一个关于如何进行这个测试的策略。
有做过类似需求的人的提示吗?
如何连接到您的示例取决于您希望何时验证它是否有效。
我的策略是在应用程序的构建期间进行。这减少了等式中的 Docker,任何关于 Cucumber 的 Java 教程都将适用。我有很多 tutorials on my blog. Maybe this post 可以提供一些帮助。使用现代版本的工具。
如果您想在应用程序在 Docker 中运行时从 Cucumber 步骤连接到应用程序,您需要一些方法来进行连接。这与从外部连接到任何服务器应用程序相同。一个示例可能是从 Cucumber 步骤驱动 Selenium 并验证 Web 应用程序。 post 可能有助于了解如何验证不同类型的应用程序。再次有点过时,但想法保持不变。
有点难以理解您要实现的目标
如果您的 docker 图像是一个执行的 'black box',并且您需要分析结果,则必须构建一个单独的 cucumber 测试项目,该项目将在主机上执行。
黄瓜步骤定义方法可以调用可以启动 docker 图像、登录到容器、拉出文件、读取日志等的方法,然后可以对其进行断言。您可以使用 Spotify docker 客户端库来做到这一点。
我正在想出一个关于如何在 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
}
}
}
}
假设我有这个简单的 class 文件...我将它打包到一个可执行的 Jar 文件中,并使用这个 class 作为我的应用程序的入口点。 java 文件部署为容器化映像,它将 运行 我的 class.
现在,从 Cucumber 测试的角度来看,如何为这种情况创建步骤定义文件?
这是 docker 图片对吧?我正在想出一个关于如何进行这个测试的策略。 有做过类似需求的人的提示吗?
如何连接到您的示例取决于您希望何时验证它是否有效。
我的策略是在应用程序的构建期间进行。这减少了等式中的 Docker,任何关于 Cucumber 的 Java 教程都将适用。我有很多 tutorials on my blog. Maybe this post 可以提供一些帮助。使用现代版本的工具。
如果您想在应用程序在 Docker 中运行时从 Cucumber 步骤连接到应用程序,您需要一些方法来进行连接。这与从外部连接到任何服务器应用程序相同。一个示例可能是从 Cucumber 步骤驱动 Selenium 并验证 Web 应用程序。 post 可能有助于了解如何验证不同类型的应用程序。再次有点过时,但想法保持不变。
有点难以理解您要实现的目标
如果您的 docker 图像是一个执行的 'black box',并且您需要分析结果,则必须构建一个单独的 cucumber 测试项目,该项目将在主机上执行。
黄瓜步骤定义方法可以调用可以启动 docker 图像、登录到容器、拉出文件、读取日志等的方法,然后可以对其进行断言。您可以使用 Spotify docker 客户端库来做到这一点。