本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Q 生成单元测试
Amazon Q Developer 代理提供人工智能驱动的单元测试生成功能,可在整个软件开发生命周期中自动创建单元测试。此功能可帮助开发人员专注于加速功能开发,同时确保代码质量。
用于单元测试的 Amazon Q 代理可自动执行以下步骤:
-
测试用例识别:代理使用您的项目结构、现有代码和工作区中的目标文件来识别相应的测试用例。
-
模拟和存根创建:Amazon Q 为隔离测试生成必要的模拟和存根。
-
测试代码生成:代理根据确定的测试用例生成单元测试。
用于单元测试的 Amazon Q 代理支持 VS Code 中的 Java 和 Python 项目,以及 JetBrainsIDEs。要了解每种编程语言支持的测试框架,请参阅支持使用 /test 生成单元测试的语言和框架。
先决条件
要使用单元测试生成功能,您必须下载并安装适用于 VS Code 的 Amazon Q IDE 扩展或 JetBrains IDEs。按照中的说明在您的 Amazon Q 开发者扩展程序或插件中安装 IDE设置扩展程序。
注意
虽然建议您选择,但其中包含测试框架设置的功能项目IDE是可选的。
使用 /test 生成单元测试
编写代码后,开发人员可以通过两种主要方式启动单元测试生成:
-
/test
在 Amazon Q 聊天中键入,可以选择指定要考虑的类、函数或方法的说明。 -
突出显示一段代码,打开右键单击 Amazon Q 菜单,然后选择生成测试选项。
当开发人员在没有额外提示的情况下使用该/test
命令时,代理:
-
检查中当前处于活动状态的文件IDE。
-
检查测试目录中是否存在与该活动文件对应的单元测试文件。
-
如果找不到这样的测试文件,它会自动创建一个新的测试文件。新的测试文件以原始文件命名,并根据使用的测试框架附加
test
前缀或后缀,并放在测试目录中。 -
如果测试文件已经存在,则它会将新的单元测试附加到现有文件中。
单元测试生成过程
该过程涉及到以下步骤:
-
输入推断:Amazon Q 根据工作空间上下文和配置的测试框架推断目标代码、输出文件以及相应的测试和模拟。代理确定将生成的测试放在现有或新的测试文件中的位置,并确定要测试的目标代码。开发人员可以提供可选的说明来指定其目标代码和目标文件名。
-
丰富上下文:Amazon Q 单元测试代理使用打开的项目作为上下文,使其能够生成与IDE项目代码和依赖项一致的测试。
-
测试生成:Amazon Q 代理推断出适当的输入以生成单元测试,或者允许用户手动提供该信息。然后,它会生成单元测试。在整个过程中,代理会在聊天中提供进度更新。
注意
-
处理大型项目时,最初的项目分析可能需要一些时间。在此过程中,进度指示器可能会在很长一段时间内保持在 0%。这是 Amazon Q 索引和上传项目文件时的正常行为。
-
单元测试生成一次只能执行一个文件。对于多个文件,请分别对每个文件使用该
/test
命令。
-
-
用户评论:Amazon Q 为最终生成的测试提供了差异。开发人员可以查看生成的测试并选择:
-
接受建议的测试。
-
拒绝更改。
-
用法和注意事项
根据您的订阅套餐,用于单元测试的 Amazon Q 代理受一般使用限制的约束。这些限制在 Amazon Q 的所有 Amazon Q 功能中都相同。
注意
每条/test
命令都计入免费套餐内的使用限制。
有关 Amazon Q 服务等级、配额和定价的信息,请参阅了解 Amazon Q 的服务等级。
您可以使用 AWS 管理控制台中的 Amazon Q 控制面板来跟踪单元测试生成指标,例如生成、接受的单元测试数量和接受率。您还可以监控配额限制功能的使用情况,并按功能访问详细的成本报告。要了解有关 Amazon Q 控制面板的信息,请参阅Amazon Q 开发者控制面板。