我们是JPos库的新手,我们希望自动化需要外围交互的测试用例。
为了在多种情况下自动化测试,我们希望绕过连接的外围设备,并为我们的应用程序提供模拟值。
例如我们有一个相连的“秤”来测量重量,我们想模拟从秤上读取的值,以便使用这种方法,
scale.getWeightUnit()
返回我们的模拟值。
在某些配置的JPos中可以吗?
最佳答案
Jpos库使用jpos.xml中提到的服务类
这些服务类可以位于外部pos.jar中(应位于classpath中),并在运行时创建。
例如,IBM提供了一个ibmpos.jar文件,该文件具有与外围设备通信的服务功能。
因此,要模拟服务,请编辑jpos.xml文件,创建自己的服务实现以返回模拟值,并将实现类添加到classpath中。
并且您还需要在服务实现类中触发dataOccured事件以模拟硬件事件(例如,模拟扫描仪的扫描事件)