CodeBuild でテストツール使ってみた


初めに

過去にデプロイしたが動かなかった経験があるため、デプロイ前のビルドでテストを行えるようにした。

BuildSpec

YAML形式で、コードサンプルは以下の通り。
注意点としては、ソースコードのトップに置かないと認識しない。
また、Testツール(以下のpytest)は結構ややこしいので、詳細は後ほど記載する。

version: 0.2
phases:
  install:
    runtime-versions:
      python: 3.8
    commands:
      - pip install pipenv
  pre_build:
    commands:
      - pipenv install --dev flake8 pytest urllib3
      - export VENV_HOME_DIR=$(pipenv --venv)
      - . $VENV_HOME_DIR/bin/activate
      - flake8 xxx.py
      - python -m pytest

Test Tools

flake8

構文チェックツールで、基本的にPEP8に準拠するようにするものと思っている。
以下のラッパーとのこと。

  • pycodestyle
  • pyflakes
  • Ned Batchelder’s McCabe script

pytest

UnitTestツールで、ディレクトリや設定が結構ややこしい。
簡易的にまとめたので参考程度に留めたい。