模拟 SWT 打印机
Mock SWT Printer
我正在编写一些打印在 org.eclipse.swt.printing.Printer
上的代码。所以第一步是看看我如何测试它,但似乎架构不允许我定义自己的打印机,因为 PrinterData
和 Printer
都不是它们应该的接口,或者至少摘要 class.
我可能只模拟要打印的 GC
对象,但这真的很难,因为我使用第三方库进行实际打印。 (老实说,GC
对象并不是单元测试的最佳选择。)
或者我可以在打印模型之前对其进行测试,但是测试中仍然缺少一大步。
有没有办法模拟 Printer
以便我可以全面测试我的代码?
我通常只模拟我拥有的类型 (Should you only mock types you own?)。
既然在技术上什至几乎不可能模拟像 Printer
这样的最终类型,我会编写一个打印机抽象。此 class 只会公开应用程序实际依赖的打印机 API。在内部抽象可以使用 Printer
的实例委托给。
这给您留下了一个可以安全模拟的 class 或接口,只有授权代码是未经测试的。
我正在编写一些打印在 org.eclipse.swt.printing.Printer
上的代码。所以第一步是看看我如何测试它,但似乎架构不允许我定义自己的打印机,因为 PrinterData
和 Printer
都不是它们应该的接口,或者至少摘要 class.
我可能只模拟要打印的 GC
对象,但这真的很难,因为我使用第三方库进行实际打印。 (老实说,GC
对象并不是单元测试的最佳选择。)
或者我可以在打印模型之前对其进行测试,但是测试中仍然缺少一大步。
有没有办法模拟 Printer
以便我可以全面测试我的代码?
我通常只模拟我拥有的类型 (Should you only mock types you own?)。
既然在技术上什至几乎不可能模拟像 Printer
这样的最终类型,我会编写一个打印机抽象。此 class 只会公开应用程序实际依赖的打印机 API。在内部抽象可以使用 Printer
的实例委托给。
这给您留下了一个可以安全模拟的 class 或接口,只有授权代码是未经测试的。