テストの作成¶
MicroPython のテストは tests/
ディレクトリにあります。以下は、主なディレクトリと run-tests.py 実行スクリプトのリストです
.
├── basics
├── extmod
├── float
├── micropython
├── run-tests.py
...
テストを分類するためのサブフォルダーがあります。テストを追加するには、既存のフォルダーのどれかか新しいフォルダーに新しいファイルを作成します。このテストフォルダーの外でカスタムテストを行うこともでき、カスタムポートにはこれを推奨します。
たとえば tests/unix/
サブディレクトリに print.py
ファイルを作成し、次のコードを追加します。
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 からの出力と比較することによって実行されます。したがって、どのテストでも print 関数を使ってテスト結果を示す必要があります。
CPython と比較できないテスト(つまり micropython 固有の機能)の場合、比較用の正解として使う .py.exp
ファイルを提供できます。
テストを実行するもう1つの方法は、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