【发布时间】:2020-07-15 16:56:29
【问题描述】:
我正在尝试使用 AWS CDK 构建一些玩笑测试,但我在尝试使用 JEST 快照时遇到了问题,因为我的 CloudAssembly 的目录在每次迭代时都会发生变化。
- "directory": "/var/folders/_j/vkq9ggqd44d0mdfzk5rrfsg1_7f_x5/T/cdk.outQcAZSr",
+ "directory": "/var/folders/_j/vkq9ggqd44d0mdfzk5rrfsg1_7f_x5/T/cdk.outmqD7Qu",
你知道如何修复这个目录吗?
我正在做类似的事情来获取我的快照。
const app = new cdk.App();
const stack = new SearchInfraStack(app, 'SearchStack', {
env: {region: "us-east-1"},
});
expect(SynthUtils.toCloudFormation(stack).toMatchSnapshot();
完整的快照如下所示:
// Jest Snapshot v1,
exports[`Empty Stack 1`] = `
CloudFormationStackArtifact {
"_dependencyIDs": Array [],
"_deps": Array [],
"assembly": CloudAssembly {
"artifacts": Array [
[Circular],
TreeCloudArtifact {
"_dependencyIDs": Array [],
"_deps": Array [],
"assembly": [Circular],
"file": "tree.json",
"id": "Tree",
"manifest": Object {
"properties": Object {
"file": "tree.json",
},
"type": "cdk:tree",
},
"messages": Array [],
},
],
"directory": "/var/folders/_j/vkq9ggqd44d0mdfzk5rrfsg1_7f_x5/T/cdk.outSwCvBU",
"manifest": Object {
"artifacts": Object {
"SearchStack": Object {
"environment": "aws://unknown-account/us-east-1",
"properties": Object {
"templateFile": "SearchStack.template.json",
},
"type": "aws:cloudformation:stack",
},
"Tree": Object {
"properties": Object {
"file": "tree.json",
},
"type": "cdk:tree",
},
},
"runtime": Object {
"libraries": Object {
"@aws-cdk/assert": "1.51.0",
"@aws-cdk/cfnspec": "1.51.0",
"@aws-cdk/cloud-assembly-schema": "1.51.0",
"@aws-cdk/cloudformation-diff": "1.51.0",
"@aws-cdk/core": "1.51.0",
"@aws-cdk/cx-api": "1.51.0",
"jsii-runtime": "node.js/v14.5.0",
},
},
"version": "5.0.0",
},
"runtime": Object {
"libraries": Object {
"@aws-cdk/assert": "1.51.0",
"@aws-cdk/cfnspec": "1.51.0",
"@aws-cdk/cloud-assembly-schema": "1.51.0",
"@aws-cdk/cloudformation-diff": "1.51.0",
"@aws-cdk/core": "1.51.0",
"@aws-cdk/cx-api": "1.51.0",
"jsii-runtime": "node.js/v14.5.0",
},
},
"version": "5.0.0",
},
"assets": Array [],
"assumeRoleArn": undefined,
"cloudFormationExecutionRoleArn": undefined,
"displayName": "SearchStack",
"environment": Object {
"account": "unknown-account",
"name": "aws://unknown-account/us-east-1",
"region": "us-east-1",
},
"id": "SearchStack",
"manifest": Object {
"environment": "aws://unknown-account/us-east-1",
"properties": Object {
"templateFile": "SearchStack.template.json",
},
"type": "aws:cloudformation:stack",
},
"messages": Array [],
"name": "SearchStack",
"originalName": "SearchStack",
"parameters": Object {},
"requiresBootstrapStackVersion": undefined,
"stackName": "SearchStack",
"stackTemplateAssetObjectUrl": undefined,
"templateFile": "SearchStack.template.json",
"terminationProtection": undefined,
}
`;
【问题讨论】:
-
你能分享你的测试文件的完整代码吗?
SynthUtils.toCloudFormation(stack)应该返回模板,你会得到一个CloudFormationStackArtifact。
标签: typescript amazon-web-services jestjs aws-cdk