为了账号安全,请及时绑定邮箱和手机立即绑定

如何在验收测试中测试泰拉图导入?

如何在验收测试中测试泰拉图导入?

Go
红颜莎娜 2022-09-19 21:27:37
我发现了这篇关于验收测试中测试的文章:tf importfunc TestAccExampleThing_basic(t *testing.T) {  /* ... potentially existing acceptance testing logic ... */  resource.ParallelTest(t, resource.TestCase{    /* ... existing TestCase functions ... */    Steps: []resource.TestStep{      /* ... existing TestStep ... */      {        ResourceName:      "example_thing.test",        ImportState:       true,        ImportStateVerify: true,      },    },  })}但这对我来说仍然很困惑。假设将初始化一些小配置>运行,以便tf状态文件不会为空,然后在步骤(测试用例)#2期间究竟会发生什么?我的想法是,如果我们尝试在本地导入已经处于tf状态的资源(在步骤#1之后),应该有一个错误或其他东西,对吧?existing TestCase functiontf plan & tf apply或者更令人困惑的是,这个组合测试,其中步骤#2和#4都是导入的(据我所知,步骤#3更新了在步骤#1中创建的状态中的一个属性,但步骤#2和步骤#4到底做了什么)?terraform-provider-aws
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

测试导入的设置是正确的。添加步骤和应该就足够了。ImportStateImportStateVerify

测试导入在测试步骤新导入状态函数中实现。它是如何工作的:terraform-provider-sdk

  1. 上一步使用测试用例工作和状态应用 terraform 配置。

  2. 如果下一步设置为 true,则使用 从测试用例状态中获取资源(或者,如果为此步骤设置了资源,则使用 或 )。ImportStateResourceNameidImportStateIdFuncImportStateId

  3. 创建空 workdir,初始化新的空状态,并导入上一步中给定资源名称和 ID 的资源。不会有冲突,因为这是一个单独的空状态。

  4. 如果为 true,则比较上一步和导入步骤中的资源状态,它们应该相同。ImportStateVerify

  5. 如果设置了函数,请使用此函数进行自定义状态验证。如果直接状态比较无效,则可以使用此选项。ImportStateCheck

  6. 放弃临时工作单位。


查看完整回答
反对 回复 2022-09-19
  • 1 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信