gpt4 book ai didi

scala - 您可以对 s3 写入进行单元测试吗?

转载 作者:行者123 更新时间:2023-11-28 20:27:40 28 4
gpt4 key购买 nike

对验证特定 s3 存储桶是否存在的方法进行单元测试很简单,因为单元测试不会更改 s3 的状态。但是,对写入 s3 存储桶的方法进行单元测试会出现更多问题,因为它实际上会在每次运行单元测试时更改 s3 的状态。例如,使用 rdd.saveAsTextFile(path) 的方法。

是否可以为写入 s3 的方法编写单元测试,同时仍允许您验证文件是否已写入?

注意:我考虑过使用模拟对象,但不确定如何实现。

编辑:我可能应该注意到我正在使用 Scala

最佳答案

您可能想查看 mockito .

你要做的是创建你的 s3 客户端的模拟(使用 mock), stub put 方法(使用 when.thenReturn),然后验证 s3 put 是否已将正确的数据放入正确的存储桶和 key (使用 verify)。

val s3 = org.scalatest.mock.MockitoSugar.mock[AmazonS3]
when(s3.putObject(any[String], any[String], any[String]).thenReturn(new PutObjectResult)

-- execute the code under test here --

verify(s3).putObject(theExpectedBucket, theExpectedKey, theExpectedData)

关于scala - 您可以对 s3 写入进行单元测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572666/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com