我试图将自己的头缠绕在使用AWS S3存储桶的C#项目中开始实现单元测试。

尽管仅真正简短地研究了它,但我知道几乎必须嘲笑项目外部的任何内容,以“保证”可预测的结果。

简而言之,我试图通过静态类(既抽象又是密封的)作为一个参数,将参数限制在我定义的界面(目前仅由由 AWSClientFactory.CreateAmazonS3Client(string, string, RegionEndpoint).

但是,我不知道如何通过参考获得该课程(AWSClientFactory),通过广泛的研究,我看不出任何方法。

当我需要通过云通过云通过云(将模仿S3 API)通过相同的方法通过云,我本来会认为这是可以接受的解决方案,并且可以通过界面实现了模拟类。

用相同的结构实现此目标的最佳方法是什么,从不同的静态类调用相同的方法?

有帮助吗?

解决方案

您无法获得静态类的实例。因此,您无法获得参考,因为没有什么可以参考。这就是为什么您不应该滥用静态课程的原因,如果您打算以后编写单元测试。

为了实现所需的目标,您可以制作自己的界面,并对此接口进行一些实现。此实施之一将包装 AWSClientFactory.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top