54934
# 環境

  * Python 3.6+
  * pytest 3.3.2

# 背景

Pythonのパッケージを作成しています。テストコードはpytestで動かしています。  
Makefile or toxでpytestコマンドを実行しています。

Pipfile

```

    [dev-packages]
    pytest = "*"
    pytest-cov = "*"
    tox = "*"
    
```

Makefile

```

    test:
        pipenv run pytest tests -v --cov=testapi --cov-report=html
    
```

tox.ini

```

    [testenv]
    usedevelop = True
    deps = pytest
    commands = pytest tests
    
```

# 質問

pythonパッケージを作るのに、以下のサイトを参考にしました。  
<https://qiita.com/Kensuke-Mitsuzawa/items/7717f823df5a30c27077>

上記サイトには、以下のように記載されていました。

> いくつかのテストスクリプトが書けたら、python setup.py testを実行可能なようにしましょう。

私は`python setup.py test`を実行可能にする必要がありますか？  
テストを実行する際は`make test` or `tox`を実行しているので、`python setup.py test`は不要だと思いました。  
また`python setup.py test`を実行可能にする必要がある場合を、教えてください。
CC BY-SA 4.0
2019-05-13T01:21:08.413
54920
2022-08-19T01:46:25.637
2022-08-19T01:46:25.637
3060
19524
question
python pytest
pytestを使っています。`python setup.py test`を実行可能にする必要がありますか？
> 私は`python setup.py test`を実行可能にする必要がありますか？

必要があるかどうかは、目的によりますが、だれかに手順を伝えたいのであれば、一般的な方法にしておくとよいでしょう。  
Pythonパッケージ開発を行っている人にとって最も一般的な方法が `python setup.py test`だと思います。

他にも、`tox.ini`があればtoxでテストするのだと分かります。MakefileはPythonパッケージ開発では一般的ではないかもしれませんが、Makefile自体が一般的なのですぐ気づくと思います。  
3つのどの方法でもテストできるように提供する人もいると思います。実際、pytestを`setup.py test`で起動するのは簡単に準備できます。  
<https://docs.pytest.org/en/latest/goodpractices.html#integrating-with-
setuptools-python-setup-py-test-pytest-runner>

どの方法にしても、「知っていれば分かる」という暗黙的なものなので、配布パッケージのドキュメントにテスト実行手順を明示的に書いておくのが一番確実です。
CC BY-SA 4.0
2019-05-13T14:48:13.743
54934
2019-05-13T14:48:13.743
806
54920
answer