GitHubActions에서 pipenv를 테스트했습니다.
13175 단어 PipenvGitHubActions파이썬
목차
unittest를 사용하여 테스트 코드를 작성해 보았습니다!
참고 : htps : // 이 m / 아오미 d로 / ms / 3에 3449f에서 924893f18
작성한 코드 : htps : // 기주 b. 코 m/순-yryr/레 c아아오/bぉb/훗아트레/서 st/에서 st/에서 st_분 c. py
Python에는 표준 모듈로 unittest가 있습니다. 이것을 사용하여 테스트 코드를 작성해 보았습니다.
상당히 운용으로 커버하고 있는 부분이 많으므로 주의해 주십시오
unittest.TestCase
의 서브 클래스로서 각 테스트 코드를 써 갑니다
import unittest
import テストするモジュール as f
class TestCalculate(unittest.TestCase):
def test_add(self):
# 足し算のテスト
self.assertEqual(f.add(3, 5), 8)
def test_sub(self):
# 引き算のテスト
self.assertEqual(f.sub(3, 5), -2)
사용 가능한 assert 메소드는 여기 에 있습니다.
테스트용의 메소드는 test
로 시작할 필요가 있습니다.
if __name__ == "__main__":
unittest.main()
main을 부르면 테스트가 실행됩니다.
여러 파일로 분할하여 테스트 코드를 작성하는 것이 대부분이라고 생각합니다.
python -m unittest discover -v
를 실행하면 현재 디렉토리 테스트가 모두 실행됩니다.
pipenv의 scripts에 등록
모처럼 pipenv를 사용하고 있으므로 scripts에 등록합니다.
위의 명령은 테스트 코드가 있는 폴더에서 할 필요가 있기 때문에 한가지 추가합니다.
[scripts]
test = "bash -c \"cd test ; python -m unittest discover\""
테스트 코드의 폴더로 이동하는 cd
를 먼저 칠 필요가 있으므로, bash -c
로 실행해 줍니다.
$ pipenv run
....
----------------------------------------------------------------------
Run 4 tests in 0.386s
OK
OK가 나오면 완성입니다.
GitHub Actions에서 테스트 자동화를 시도했습니다!
테스트를 만들면 자동화하겠죠?
Actions → New workflow → Python application을 선택합니다.
템플릿이 사용하기 쉽고 훌륭합니다 ......
아래와 같은 템플릿이 적용된 yaml 파일이 가능합니다.
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
pytest
적당하게 설정해 갑니다.
name: Python application
이름입니다, 좋아하는 이름으로합시다.
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
어떤 브랜치의 어떤 조작으로 액션을 실행할지 결정합니다. 대부분 그대로 괜찮습니다.
runs-on: ubuntu-latest
어떤 이미지로 실행할지, 라고 생각합니다. (잘 모르기 때문에 건너 뛰기)
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
?
파이썬의 버전을 지정하는 정도밖에 모른다
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
pytest
name, run 로 1 세트. run으로 지정한 명령이 달리는 것 같습니다.
설정한 물건이 이렇게
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ master ]
pull_request:
branches: [ master, release ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install Pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv
- name: Install dependencies
run: |
pipenv sync
- name: Test with unittest
run: |
pipenv run test
요약
움직였기 때문에 OK! 튜닝은 다른 기회!
Reference
이 문제에 관하여(GitHubActions에서 pipenv를 테스트했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/taittide/items/87fa7a0c8e91c01c612b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import unittest
import テストするモジュール as f
class TestCalculate(unittest.TestCase):
def test_add(self):
# 足し算のテスト
self.assertEqual(f.add(3, 5), 8)
def test_sub(self):
# 引き算のテスト
self.assertEqual(f.sub(3, 5), -2)
if __name__ == "__main__":
unittest.main()
[scripts]
test = "bash -c \"cd test ; python -m unittest discover\""
$ pipenv run
....
----------------------------------------------------------------------
Run 4 tests in 0.386s
OK
테스트를 만들면 자동화하겠죠?
Actions → New workflow → Python application을 선택합니다.
템플릿이 사용하기 쉽고 훌륭합니다 ......
아래와 같은 템플릿이 적용된 yaml 파일이 가능합니다.
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
pytest
적당하게 설정해 갑니다.
name: Python application
이름입니다, 좋아하는 이름으로합시다.
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
어떤 브랜치의 어떤 조작으로 액션을 실행할지 결정합니다. 대부분 그대로 괜찮습니다.
runs-on: ubuntu-latest
어떤 이미지로 실행할지, 라고 생각합니다. (잘 모르기 때문에 건너 뛰기)
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
?
파이썬의 버전을 지정하는 정도밖에 모른다
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
pytest
name, run 로 1 세트. run으로 지정한 명령이 달리는 것 같습니다.
설정한 물건이 이렇게
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ master ]
pull_request:
branches: [ master, release ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install Pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv
- name: Install dependencies
run: |
pipenv sync
- name: Test with unittest
run: |
pipenv run test
요약
움직였기 때문에 OK! 튜닝은 다른 기회!
Reference
이 문제에 관하여(GitHubActions에서 pipenv를 테스트했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/taittide/items/87fa7a0c8e91c01c612b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GitHubActions에서 pipenv를 테스트했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taittide/items/87fa7a0c8e91c01c612b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)