我发现了这篇关于验收测试中测试的文章: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个赞
测试导入的设置是正确的。添加步骤和应该就足够了。ImportState
ImportStateVerify
测试导入在测试步骤新导入状态
函数中实现。它是如何工作的:terraform-provider-sdk
上一步使用测试用例工作和状态应用 terraform 配置。
如果下一步设置为 true,则使用 从测试用例状态中获取资源(或者,如果为此步骤设置了资源,则使用 或 )。
ImportState
ResourceName
id
ImportStateIdFunc
ImportStateId
创建空 workdir,初始化新的空状态,并导入上一步中给定资源名称和 ID 的资源。不会有冲突,因为这是一个单独的空状态。
如果为 true,则比较上一步和导入步骤中的资源状态,它们应该相同。
ImportStateVerify
如果设置了函数,请使用此函数进行自定义状态验证。如果直接状态比较无效,则可以使用此选项。
ImportStateCheck
放弃临时工作单位。
- 1 回答
- 0 关注
- 71 浏览
添加回答
举报
0/150
提交
取消