在AutoMapper Profile类中包含构造函数依赖项是否正确,它是否会在测试期间导致问题?

问题描述 投票:0回答:1

我正在使用AutoMapper的静态版本。我有一些Profile类,在构造函数中有一些依赖项,而这些依赖项又有自己的依赖项。所以我的问题是,因为我们设置了一次AutoMapper,我如何模拟这些依赖项,我应该首先模拟这些,因为我将使用它来映射实际对象。

c# .net dependency-injection automapper-3
1个回答
0
投票

使用静态时很难模拟,特别是如果你并行运行测试。因此,您可以做的最好的事情是不使用AutoMapper的静态版本。我们使用我们注入的AutoMapper接口,这意味着我们总是可以模拟automapper本身。

至于你是否想要嘲笑它,想象一下你将在5种不同的方法中使用相同的映射。现在你必须编写单元测试,以便验证映射是否正确5次。相反,您可以验证已调用映射并编写单元测试以直接针对automapper进行映射。

您可以自行决定是否需要进行更改才能实现这一目标。如果你从头开始做一个新的设计我可以建议像我描述的那样。多写一点,但让您轻松进行单元测试并纠正松耦合。

© www.soinside.com 2019 - 2024. All rights reserved.