Python Advent Calendar25日目を担当します@giginetです。最終日なので遅れないように何とか書き上げました。 先日、Django向けに簡単なプラグインを開発しました。 そこで、実装したプラグインをPython2と3の違いを吸収して複数環境でテストするようにCI環境を構築したところ、ハマりどころが多かったため、この機会にまとめてみます。 この記事ではTravis CIを使って、複数のPythonバージョンにまたがるテストを実行して、カバレッジを計測する方法をご紹介します。 モジュールを実装する まず、テストしたい簡単なモジュールを実装しましょう。今回はcalculatorモジュールにcalculator.pyを置き、Calculatorクラスを実装しました。 今回は全てのコードをPython3で実装することを想定しています。
[tox] envlist = py{36,37} skip_missing_interpreters = true [testenv] description = Unit Test and Integration Test with coverages passenv = LANG deps = pytest pytest-cov pytest-pythonpath flake8 pep8 pyflakes pytest-flake8 pytest-pep8 coverage black commands = python setup.py install coverage run --source=hogehoge -m pytest --junit-xml=test_results.xml coverage report -m coverage html coverage xml
概要 Pythonモジュールに対するCIで、勉強がてらtoxを導入してみたため、自分用に設定ファイルによく書きそうな内容をまとめて記述しておきます。 ※toxバージョン>=3.14での内容となります。 toxとは virtualenvを利用したMultiEnvironmentでのテストを実施することができるツールです。 複数バージョンのPythonでモジュールに対するテスト実施できる点が便利です。 設定ファイル種別 ドキュメントによると、3種類のファイルを次の優先順位で読み込みます。 1. pyproject.toml 2. tox.ini 3. setup.cfg 以下に記載していくのはtox.iniの内容となります。 埋め込み変数 各セクションで利用できる埋め込み変数の一覧です。 設定名 概要
この記事はLIFULL Advent Calendar その3の遅れてきた16日目の記事です。 今までPythonの開発にPipenvを使っていたのですが、こちらの記事「Poetryを使ったPythonパッケージ開発からPyPI公開まで」読んで、Poetryというツールが気になっていました。 Poetryの便利なところは、パッケージをビルドした際にこの設定がそのまま setup.py の console_scripts として記述される。ビルドする時にコマンドとして実行できるようにあらためてsetup.pyを書く必要がない。 そのテストも兼ねて、社内用のPythonライブラリをPipenvからPoetryに移行してみました。また、Rustを少し触っていて遊んでいた(コンパイルが通らずに泣いていた)ときに、開発ツールのcargoが洗練されていて羨ましかったのですが、それに使い勝手が近そうな印
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く