编写测试¶
MicroPython 中的测试位于路径 tests/
. 以下是关键目录和 run-tests.py 运行脚本的列表:
.
├── basics
├── extmod
├── float
├── micropython
├── run-tests.py
...
维护了子文件夹以对测试进行分类。通过在现有文件夹之一或新文件夹中创建新文件来添加测试。也可以在此测试文件夹之外进行自定义测试,建议用于自定义端口。
例如,print.py
在tests/unix/
子目录的文件中添加以下代码:
def print_one():
print(1)
print_one()
如果你运行你的测试,这个测试应该出现在测试输出中:
$ cd ports/unix
$ make tests
skip unix/extra_coverage.py
pass unix/ffi_callback.py
pass unix/ffi_float.py
pass unix/ffi_float2.py
pass unix/print.py
pass unix/time.py
pass unix/time2.py
通过将测试目标的输出与 CPython 的输出进行比较来运行测试。所以任何测试都应该使用打印语句来表示测试结果。
对于无法与 CPython 进行比较的测试(即 micropython 特定功能),您可以提供一个.py.exp
文件,该文件将用作比较的真相。
在 Unix 端口以外的目标上运行时,运行测试很有用的另一种方法是:
$ cd tests
$ ./run-tests.py
然后在板上运行:
$ ./run-tests.py --target minimal --device /dev/ttyACM0
并且只运行一组特定的测试(例如一个目录):
$ ./run-tests.py -d basics
$ ./run-tests.py float/builtin*.py