![]() |
1
3
你应该把测试中的班级分成两个单独的班级。一个类包含需要测试的(业务)逻辑,另一个类充当外部依赖项的适配器。这个适配器类应该实现一个接口,逻辑类应该依赖于该接口。此接口应 不 模拟外部依赖的API,但接口应根据应用程序的需要进行定义。通过这样做,您可以实现:
您最终将得到一个与外部库紧密耦合的适配器类。此适配器将传入的调用转换为可以发送到外部库的调用。这个适配器不能单独测试,如果测试很重要,您可能需要为此进行集成测试(取决于外部库的功能)。重要的是,您不必测试外部库是否正常工作,但可能仍然需要测试适配器类的正确性。 |
![]() |
2
2
我将创建一个包装器类,它使用您设计的接口,只从Foo中公开您需要的内容。 例如:
您可以进一步使MyFooWrapper成为一个抽象类,以包含属性和任何其他基本功能,但不要将Foo放在其中,而是有一个继承Foo包装器的类。 |
![]() |
Eric Bourque · 将旧的C++DLL转换为C# 6 年前 |
![]() |
NiPapen · 将参数缩放到0到1之间以进行优化 7 年前 |
![]() |
BeSha · 模板类的输入输出类型不同时如何处理构造函数 7 年前 |
|
Ryohei · 如何在我的软件包中使用decorator 7 年前 |
![]() |
ABu · 展开std::reference\u包装的成本 7 年前 |
![]() |
asafg · mac os.pkg.app的节点JS包装器 7 年前 |