test-e2e - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

test-e2e

使用Amazon IoT Greengrass开发套件test-e2e命令行界面 (GDK CLI) 中的命令在 GDK 项目中初始化、生成和 end-to-end 运行测试模块。

子命令

init

使用使用 Greengrass 测试框架 (GTF) 的测试模块初始化现有的 GDK CLI 项目。

默认情况下,GDK CLI 会从上的 “Amazon IoT Greengrass组件模板” 存储库中检索 maven 模块模板。 GitHub这个 maven 模块附带了对 aws-greengrass-testing-standalone JAR 文件的依赖关系。

此命令在 GDK 项目gg-e2e-tests内部创建一个名为的新目录。如果测试模块目录已经存在且不为空,则命令将不执行任何操作退出。此gg-e2e-tests文件夹包含 Maven 项目中结构的 Cucumber 功能和步骤定义。

默认情况下,此命令将尝试使用最新版本的 GTF。

摘要
$ gdk test-e2e init [--gtf-version]
Arguments (参数)
  • -ov--gtf-version—(可选)与 GDK 项目中的 end-to-end 测试模块配合使用的 GTF 版本。此值必须是发行版中的 GTF 版本之一。此参数覆盖 GDK CLI 配置gtf_version中的。

输出

以下示例显示了运行此命令以使用测试模块初始化 GDK 项目时生成的输出。

$ gdk test-e2e init [2023-12-06 12:20:28] INFO - Using the GTF version provided in the GDK test config 1.2.0 [2023-12-06 12:20:28] INFO - Downloading the E2E testing template from GitHub into gg-e2e-tests directory...

build

注意

在生成 end-to-end 测试模块gdk component build之前,必须通过运行来构建组件。

构建 end-to-end 测试模块。GDK CLI 使用您在 GDK CLI 配置文件中的属性下指定的构建系统来构建测试模块。gdk-config.json test-e2e您必须在gdk-config.json文件所在的同一个文件夹中运行此命令。

默认情况下,GDK CLI 使用 maven 编译系统来构建测试模块。需要使用 Maven 才能运行该gdk test-e2e build命令。

如果测试功能文件包含诸如GDK_COMPONENT_NAME和之类的变量需要插值,则必须在构建测试模块gdk-component-build之前通过运行GDK_COMPONENT_RECIPE_FILE来构建组件。

运行此命令时,GDK CLI 会插入 GDK 项目配置中的所有变量,并生成gg-e2e-tests模块以生成最终的测试 JAR 文件。

摘要
$ gdk test-e2e build
Arguments (参数)

输出

以下示例显示了运行此命令时生成的输出。

$ gdk test-e2e build [2023-07-20 15:36:48] INFO - Updating feature file: file:///path/to//HelloWorld/greengrass-build/gg-e2e-tests/src/main/resources/greengrass/features/component.feature [2023-07-20 15:36:48] INFO - Creating the E2E testing recipe file:///path/to/HelloWorld/greengrass-build/recipes/e2e_test_recipe.yaml [2023-07-20 15:36:48] INFO - Building the E2E testing module [2023-07-20 15:36:48] INFO - Running the build command 'mvn package' .........

run

使用 GDK 配置文件中的测试选项运行测试模块。

注意

在运行测试gdk test-e2e build之前,必须通过运行来构建 end-to-end 测试模块。

摘要
$ gdk test-e2e run [--gtf-options]
Arguments (参数)
  • -oo--gtf-options—(可选)指定用于运行 end-to-end 测试的选项列表。参数必须是有效的 JSON 字符串或包含 GTF 选项的 JSON 文件的文件路径。配置文件中提供的选项与命令参数中提供的选项合并。如果两个地方都存在一个选项,则参数中的一个优先于配置文件中的选项。

    如果此命令中未指定该tags选项,GDK 将使用Sample标记。如果ggc-archive未指定,GDK 将下载最新版本的 Greengrass 核心档案。

输出

以下示例显示了运行此命令时生成的输出。

$ gdk test-e2e run [2023-07-20 16:35:53] INFO - Downloading latest nucleus archive from url https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-latest.zip [2023-07-20 16:35:57] INFO - Running test jar with command java -jar /path/to/greengrass-build/gg-e2e-tests/target/uat-features-1.0.0.jar —ggc-archive=/path/to/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip —tags=Sample 16:35:59.693 [] [] [] [INFO] com.aws.greengrass.testing.modules.GreengrassContextModule - Extracting /path/to/workplace/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip into /var/folders/7g/ltzcb_3s77nbtmkzfb6brwv40000gr/T/gg-testing-7718418114158172636/greengrass 16:36:00.534 [gtf-1.1.0-SNAPSHOT] [] [] [INFO] com.aws.greengrass.testing.features.LoggerSteps - GTF Version is gtf-1.1.0-SNAPSHOT .......