如何使用 JPOS 库测试和仿真外设

How to test and emulate the peripherals with JPOS library

我们是 JPos 库的新手,我们希望自动化需要外围交互的测试用例。

为了在多个场景下自动化测试,我们想绕过连接的外围设备并为我们的应用程序提供模拟值。

例如我们有一个连接的 'Scale' 来测量重量,我们想模拟从秤上读取的值,所以这个方法,

scale.getWeightUnit()

returns 我们的模拟值。

在 JPos 中是否可以通过某些配置实现?

如果您想完全绕过连接的外围设备(例如,跳过所有 JPos 部分),您可以创建一个 mock class,其中包含您使用的方法。

看这里:

在这种情况下,我通常只实现虚拟 JavaPOS 服务。 您可以 return 一个固定值或随机值。

Jpos 库使用 jpos.xml 中提到的服务 class 这些服务 class 可以在外部 pos.jar 中(应该在 class 路径中)并在运行时创建。 例如 IBM 提供了一个 ibmpos.jar 文件,它具有与外围设备通信的服务实现。

因此,要模拟服务,请编辑 jpos.xml 文件,为 return 模拟值创建您自己的服务实现,并在 class 中添加实现 classes小路。

并且您还需要在服务实现中触发 dataOccured 事件 class 以模拟硬件事件(例如模拟扫描仪的扫描事件)