author |
date |
category |
tags |
deng |
20250109 |
Note |
Python |
Nox |
FlexibleTest |
Versioning |
|
image resource
- Abstract
- 在將Python專案打包時會遇到填寫依賴套件及其版本的問題,開發者必須逐一測試Python版本與依賴套件版本之間(甚至是跨平台)不同組合的可運行性,而Nox正是為了可以將此流程自動化而生
- Steps
- 在虛擬環境中安裝Nox(
pip install nox
)
- 在Package資料夾中產生noxfile.py 並撰寫測試程式碼(範例程式碼可見Note)
- 於終端機輸入
nox
開始進行測試
- Note
- 以下為noxfile.py範例程式碼(透過環境是否能順利通過單元測試來判別套件之間的匹配性)
# noxfile.py
#
# author: deng
# date : 20250110
import nox
@nox.session(python=['3.10', '3.11', '3.12'])
@nox.parametrize('numpy', ['1.26', '2.0'])
@nox.parametrize('scikit_learn', ['1.5', '1.6'])
def test_flexibility(session, numpy, scikit_learn):
# Install package dependencies
session.install(f'numpy=={numpy}')
session.install(f'scikit-learn=={scikit_learn}')
# Test
session.install('pytest')
session.run('pytest')