gpt4 book ai didi

java - 模拟 SWT 打印机

转载 作者:行者123 更新时间:2023-11-28 21:26:22 30 4
gpt4 key购买 nike

我正在编写一些在 org.eclipse.swt.printing.Printer 上打印的代码。所以第一步是看看我如何测试它,但似乎架构不允许我定义自己的打印机,因为 PrinterDataPrinter 都不是接口(interface)他们应该,或者至少是一个抽象类。

我可能只是模拟打印的 GC 对象,但这真的很难,因为我使用第三方库来进行实际打印。 (老实说,GC 对象并不是单元测试的最佳选择。)

或者我可以在打印之前测试模型,但是测试中仍然缺少一大步。

有没有办法模拟 Printer 以便我可以全面测试我的代码?

最佳答案

我通常只模拟我拥有的类型 ( Should you only mock types you own? )。

既然在技术上什至不可能模拟像 Printer 这样的最终类型,我会编写一个打印机抽象。此类只会公开应用程序实际依赖的打印机 API。在内部抽象可以使用 Printer 的实例来委托(delegate)给。

这给您留下了一个可以安全模拟的类或接口(interface),并且只有委托(delegate)代码是未经测试的。

关于java - 模拟 SWT 打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39612795/

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