本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS IoT Greengrass 测试框架
Greengrass 测试框架 (GTF) 是一系列从客户角度支持自动化的构建模块。 end-to-endGTF 使用 Cuc u
GTF 是通过 Cucumber(一种用于运行自动测试的工具)来实施的,鼓励组件的行为驱动开发(BDD)。在 Cucumber 中,一个名为 feature
的特殊类型文件对该系统功能进行了概述。每个功能都以一种便于阅读的格式描述,这种格式称为“场景”,是可转换为自动测试的规范。将每个场景概述为一系列步骤,这些步骤使用一种名为 Gherkin 的特定于域的语言来定义被测系统的交互和结果。Gherkin 步骤
主题
工作方式
AWS IoT Greengrass 将 GTF 作为由多个 Java 模块组成的独立 JAR 分发。要使用 GTF end-to-end 测试组件,必须在 Java 项目中实现测试。将可测试的独立 JAR 作为依赖关系添加到您的 Java 项目后,您就可以使用 GTF 的现有功能,并通过编写自己的自定义测试用例对其进行扩展。要运行自定义测试用例,您可以构建 Java 项目并使用 Greengrass 测试框架配置选项 中所述的配置选项运行目标 JAR。
GTF 独立 JAR
Greengrass 使用 Cloudfront 作为 Maven
GTF 独立 JAR 包括以下模块。它不仅限于这些模块。您可以在项目中单独选择每个依赖关系,也可以将所有这些依赖关系同时包含在测试独立 JAR 文件
-
aws-greengrass-testing-resources
:此模块为在测试过程中管理 AWS 资源的生命周期提供了抽象。你可以用它来使用ResourceSpec
抽象来定义你的自定义 AWS 资源,这样 GTF 就可以为你创建和删除这些资源。 -
aws-greengrass-testing-platform
:此模块测试生命周期内为被测设备提供平台级抽象。它包含 APIs 用于与独立于平台的操作系统进行交互,并可用于模拟在设备外壳中运行的命令。 -
aws-greengrass-testing-components
:此模块包含用于测试 Greengrass 核心功能(例如部署、IPC 和其它功能)的示例组件。 -
aws-greengrass-testing-features
:此模块由可重复使用的常用步骤及其定义组成,用于在 Greengrass 环境中进行测试。
更改日志
下表介绍每个版本 GTF 的更改。如需了解更多信息,请参阅上的 GTF 发布页面
版本 |
更改 |
---|---|
1.2.0 |
|
1.1.0 |
|
1.0.0 |
初始版本。 |