python - 如何修补功能,以便无需在电路板或微控制器上运行代码即可测试传感器数据?
问题描述
是否有我修补的函数,以便我可以使用模拟方法作为传感器数据的返回值?
我想做的是为我将使用 Adafruit BMP280 传感器测量的传感器数据编写测试。我想编写可以在我的计算机上运行的测试,这样我就不需要物理插入传感器并收集数据来测试代码的有效性。我遇到的问题是 Adafruit-PlatformDetect 阻止我运行任何 circuitpython 函数。
我现在拥有的是:
@patch('board.SCL', MagicMock())
@patch('board.SCA', MagicMock())
@patch('busio.I2C')
@patch('adafruit_bmp280.Adafruit_BMP280_I2C')
def test_sum_func(Adafruit_BMP280_I2C: MagicMock, I2C: MagicMock):
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
bmp280.pressure = 30
当我运行它时,我收到错误:“NotImplementedError:Adafruit-PlatformDetect 版本 3.15.3 无法识别运行 Windows 平台的板和/或微控制器。请确保您正在运行最新的软件包:'pip3 install --upgrade adafruit-blinka adafruit-platformdetect'"
Board.py
自动检查以查看代码正在哪个设备上运行,我认为我需要修补类似adafruit_blinka.agnostic.detector
in 并让其中一个参数 return True
,但我不知道该怎么做。任何帮助将不胜感激。
解决方案
推荐阅读
- wordpress - Wordpress - WPForms 配置 DropZone 选项以允许上传文件分块
- php - Laravel - 如何在测试中启用异常处理?
- discord.js - 目标不是数字 quick.db
- matlab - 如何决定是否需要全局优化
- r - 在 circos 中使用 circos 函数
- java - 删除特定行后如何修改数据库 phpmyadmin 中的主键?
- javascript - Shopify 购物车预览仅在刷新后更新
- reactjs - 这个 redux thunk 的例子是如何工作的?
- kotlin - 我可以/应该用参数化集合支持参数化类吗?
- android - 使用 ScrollableTabRow 我创建选项卡但我想知道如何导航到每个页面