编写测试

MicroPython 中的测试位于路径 tests/. 以下是关键目录和 run-tests.py 运行脚本的列表:

.
 ├── basics
 ├── extmod
 ├── float
 ├── micropython
 ├── run-tests.py
 ...

维护了子文件夹以对测试进行分类。通过在现有文件夹之一或新文件夹中创建新文件来添加测试。也可以在此测试文件夹之外进行自定义测试,建议用于自定义端口。

例如,print.pytests/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