vault backup: 2025-01-10 13:43:35
This commit is contained in:
		| @ -14,6 +14,32 @@ tags: | ||||
|  | ||||
| - Abstract | ||||
| 	- 在將Python專案打包時會遇到填寫依賴套件及其版本的問題,開發者必須逐一測試Python版本與依賴套件版本之間(甚至是跨平台)不同組合的可運行性,而Nox正是為了可以將此流程自動化而生 | ||||
| - Concept | ||||
| - Steps | ||||
| - Note | ||||
| 	1. 在虛擬環境中安裝Nox(`pip install nox`) | ||||
| 	2. 在Package資料夾中產生*noxfile.py* 並撰寫測試程式碼(範例程式碼可見Note) | ||||
| 	3. 於終端機輸入`nox` 開始進行測試 | ||||
| - Note | ||||
| 	- 以下為*noxfile.py*範例程式碼(透過環境是否能順利執行單元測試來判別套件之間的匹配性) | ||||
|  | ||||
| ```python | ||||
| # 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') | ||||
| ``` | ||||
		Reference in New Issue
	
	Block a user