我很难找到正确的参考,因为当我搜索时,我想要的大部分是如何测试构造本身。我正在寻找的是如何运行我的应用程序测试,而不是基础设施/构造测试。这是我应该添加的测试阶段吗?
npm test我所指的测试是通常通过运行(或rake test在 Ruby/Rails 世界中,或./manage.py test在 Django 世界中)运行的测试。无论你称它们为集成还是单元测试都是有争议的。他们不一定运行整个网络服务器,但他们确实使用数据库。就我而言,这些测试可能使用 DynamoDB、SQS 和其他服务。正在测试的函数将是 Lambda 函数及其内部单元的混合。我不希望在 Lambda 环境中运行它们。我希望在开发过程中不断在我的机器上本地运行这些测试。这些测试将在来自 GitHub 的拉取请求上运行,作为阻止或允许合并拉取请求的内容之一。如果您熟悉的话,这是标准的 Heroku CI/CD 模型。
作为参考,我当前的管道堆栈如下所示(它从https://cdkworkshop.com/开始,我正在改进它,Example4Be 是我的应用程序):
import * as cdk from "aws-cdk-lib"
import * as secretsmanager from "aws-cdk-lib/aws-secretsmanager"
import {Construct} from "constructs"
import {Example4BeDeployStage} from "./example4-be-deploy-stage"
import {CodeBuildStep, CodePipeline, CodePipelineSource} from "aws-cdk-lib/pipelines"
export class PipelineStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props)
const githubSecretId = "github-flexpointtech-token"
const secret = new secretsmanager.Secret(this, …Run Code Online (Sandbox Code Playgroud)