如何对访问串行p的脚本进行测试

2024-09-27 07:31:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个连接到外部设备以请求执行某些功能的包。例如,包的示例脚本可以是:

from serial import Serial
import glob

class SerialComm():
    def __init__(self)
        # Do some stuff
        # ...
        self.port = glob.glob('/dev/ttyUSB*')[0]
        self.serial = Serial(port=self.port)

    def ask_if_ready(port, baudrate):
        """Send an acknowledge request through serial port."""
        message = SerialComm.build_message(function='ready')
        my_serial = Serial(port=port, baudrate=baudrate)
        my_serial.write(message) 
        return my_serial.read()

    def build_message(function):
        """Makes a message based on a protocol"""
        #Do stuff
        return message

我想写一些测试来评估代码,我希望这个测试是自主的,不依赖于是否有设备连接到PC。但是,如果没有连接任何设备,在做出任何断言之前,前面的代码将崩溃(环球网()函数和串行函数需要连接一些设备)。在

我不知道如何欺骗代码,以便模拟连接到串行端口的设备的行为并测试类的不同方法。在


Tags: 代码importselfmessageportmydefserial

热门问题