我想为我正在为 micro:bit 编写的 micropython 代码编写测试。这里的例子使用 doctest。我愿意为任何测试系统解决问题。
名为 testing_python.py 的工作 python 示例:
def sum(a, b):
'''
>>> sum(3, 0)
3
'''
return a + b
print(sum(2,2))
当我测试使用:
python -m doctest -v testing_python.py
我得到:
4
Trying:
sum(3, 0)
Expecting:
3
ok
将 micropython 用于名为 testing_micropython.py 的 micro:bit 的失败示例:
from microbit import *
def sum(a, b):
'''
>>> sum(3, 0)
3
'''
return a + b
print(sum(2,2))
当我测试使用:
python -m doctest -v testing_micropython.py
我明白了
Traceback (most recent call last):
...
ModuleNotFoundError: No module named 'microbit'
我尝试将“import microbit”语句包装在 try, except 子句中。这将使这个简单的示例工作。但是,当我开始使用 micro:bit 库中的任何其他非 python 库函数(例如 Image 或 utime)时,doctest 将再次失败。