並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 49件

新着順 人気順

pytestの検索結果1 - 40 件 / 49件

pytestに関するエントリは49件あります。 pythonテストtest などが関連タグです。 人気エントリには 『僕の考えた最強の Python 開発環境 (2024)』などがあります。
  • 僕の考えた最強の Python 開発環境 (2024)

    はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

      僕の考えた最強の Python 開発環境 (2024)
    • サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ

      Pythonでお仕事する前提で、現在のところで自分が最適と考えるチーム開発のための環境整備についてまとめてみました。今までももろもろ散発的に記事に書いたりしていたのですが、Poetryで環境を作ってみたのと、過去のもろもろの情報がまとまったものが個人的にも欲しかったのでまとめました。前提としては次の通りです。 パッケージ管理や開発環境整備でPoetryを使う 今時はコードフォーマッター、静的チェックは当たり前ですよね? コマンドでテスト実行、コードチェックとか実行とかができる(CI/CD等を考えて) VSCodeでもコマンドで実行しているのと同じコードチェックが可能(ここコンフリクトすると困る) デプロイはDockerイメージ コンテナのデプロイ環境でコンテナに割り当てられたCPU能力を比較的引き出せて、スケールさせたら線形にパフォーマンスアップできるようなasyncioを前提とした環境構

        サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ
      • 新卒向け「テストコード」の研修資料 Sansanが無料公開 Python上でのテスト方法を解説

        Sansanは10月25日、テストコードについての研修資料を無料公開した。4月に実施した新卒の技術研修で使った資料の一部で、入社2年目の社員が作成。Pythonのテストフレームワーク「pytest」でのテストコードの書き方や、VSCodeでのテスト方法などを解説している。 同社はテストコードの便利な点として「実行確認しやすい」「リファクタリングや修正後に実行結果や振る舞いが変わっていないことを確認できる」「コードの挙動が理解しやすい」を挙げる。テストコードの重要性を理解し、テストコードを活用できるようになることを目的に研修を行ったとしている。 関連記事 新卒向け「統計学の基礎」100ページ超 SaaS企業が無料で資料公開 ブレインパッドが、新卒研修で使った統計学の学習資料を公開した。統計学の基礎を解説したもので、ページ数は100ページ超。スライド公開サービス「Speakerdeck」から無

          新卒向け「テストコード」の研修資料 Sansanが無料公開 Python上でのテスト方法を解説
        • Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる

          Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 本記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開

            Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる
          • (修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020

            PyCon JP 2020での発表スライドです。 --------------------------- (2020/08/30) 誤字を修正しました。 場所: p15 誤: assert_array_close() 正: assert_allclose() ---------------…

              (修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020
            • 【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita

              概要 pythonでテストコードを書くときがありますが、(筆者のように)超初心者からすると難しい用語や書き方がたくさん並んでいてハードルが高いです。 テストコードの入口となる最低限(最低限過ぎるかもしれませんが)の書き方を備忘を兼ねて書きます。 pythonでのテストコードを書く時のライブラリの種類 筆者が簡単に調べたところ、2つのライブラリがよく使われているようです。 unittest : python標準ライブラリ。インストールが必要ない。pytestと比較すると、柔軟なテストケースを書きづらい。 pytest : サードパーティ製のライブラリ。インストールの必要がある。柔軟なテストケースが書ける。pythonのテストコードを書く時のデファクトスタンダートになりつつある模様(これが本当かは確認していないですが、そういう記述を見かけることが多かったです)。 筆者個人としては、以下の3つの

                【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita
              • 2023年 研究開発部 新卒技術研修 ~ テストコード編 ~ - Sansan Tech Blog

                こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから学んだ情報を共有しました。至らない部分もあるかもしれませんが、ご参考になれば幸いです。 こちらの研修で使用したGitHubのコードリンクは以下です。適宜、ご参照ください。 github.com 目次 目次 はじめに この研修の目的 研修スコープ外 テストコードについて テストコードの便利な点 テストコードの悪い例 テストコードに関するFAQ pytestによるテストコードの書き方 ファイル名 ディレクトリ 基本編 Parametrize Fixture 異常系 Mock indirect conftest 知っておくと活用する場

                  2023年 研究開発部 新卒技術研修 ~ テストコード編 ~ - Sansan Tech Blog
                • How to Set Up a Python Project For Automation and Collaboration

                  How to Set Up a Python Project For Automation and Collaboration [ engineering production python productivity 🔥 ] · 20 min read As your Python project gets larger in scope, it can become difficult to manage. How can we automate checks (e.g., unit testing, type-checking, linting)? How can we minimise collaboration overhead (e.g., code reviews, consistency)? How can we maximise developer experience

                    How to Set Up a Python Project For Automation and Collaboration
                  • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                    概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                      pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                    • Pythonに型アノテーションを自動で付与する

                      2021/10 追記 Pyannotate はメンテナが居なくなったため更新が途絶えました。またより表現多く typing を反映できるため、これからは Monkeytype を推奨します。 この記事は何か Python Advent Calendar 2020の 2 日目の記事です(元々 13 日目でしたが、2 日目の参加者が取りやめたので横入りしました)。「Python コードに自動で型を付与し、その型をテストで静的チェックして、保守性を高める方法」をご紹介する趣旨の記事です。 書いた理由 今回紹介するメインツールの pyannotate について、日本語で紹介している記事がほとんどなく、かつ古い情報が多かった為です(python3 サポートがない時代かつ、pytest との連携ができなかった時代)。「Python において型はいるのか?」という議論はしません。 今回紹介するツールは以

                        Pythonに型アノテーションを自動で付与する
                      • その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ

                        はじめに Gunosy Tech Lab - Media ML のsuchidaです。 最近はPythonの型アノテーションがないとあたふたする人生です。 こちらの記事は Gunosy Advent Calendar 2021の3日目の記事です。 前回の記事はid:skozawa さんの施策の優先順位付けのために分析Dayを実施しましたでした。 さて皆さん、Pythonを利用する際に静的解析ツールを利用していますか?これは、コードを綺麗に保ち、保守運用を行いやすくするために非常に重要なツールです。 本記事では、Pythonコードフォーマッターなどの静的解析ツールとその設定ファイルの管理方法について簡単に紹介します。 静的解析ツールの導入 チーム内では主に、アルゴリズムの開発・運用にPythonを利用しています。 また、コードを綺麗に保ち、保守運用を行いやすくするためにコードフォーマッターな

                          その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ
                        • pytest fixtureの地味だけど重要な部分について - 株式会社ホクソエムのブログ

                          こんにちは。ホクソエム支援部サポーターのPython担当、藤岡です。 最近はデータエンジニア見習いとしてBI周りを触っています。 今回はpytestのfixtureについての記事です。 pytest自体が有名で記事もたくさんあるので、今回は地味だけど重要だと個人的に思っている usefixturesとスコープについて取り上げます。 地味とはいえ、pytestの初心者がfixtureを使いこなすためのステップアップに必要な内容だと思います。 ぜひマスターしていただければ幸いです。 1. 前書き 基礎的なことに関してはこの記事にとても簡潔にまとまっているので、こちらをまず読むのがオススメです。とても良い記事です。 pytestは独自の書き方を持ち込んでいるライブラリです。その機能を使いこなすと「綺麗」なコードにはなりますが、反面それは使われている機能を知らない人にとってはこの上なく読みにくいも

                            pytest fixtureの地味だけど重要な部分について - 株式会社ホクソエムのブログ
                          • テストを5倍速にする - BASEプロダクトチームブログ

                            この記事はBASE Advent Calendar 2019の20日目の記事です。 devblog.thebase.in PAY株式会社でテックリードを務める東と申します。 主にバックエンド全般に広く携わっています。最近はサーバーアプリばかり書いていますがインフラもわりとやります。 当ブログの読者の方には弊社のことをご存じない方もたくさんいらっしゃるかと思いますので、簡単に社の紹介をさせていただきます。 PAY株式会社はBASE株式会社の100%子会社で、オンライン決済サービス「PAY.JP」とID決済サービス「PAY ID」などの決済サービスを開発・運営している会社です。 「支払いのすべてをシンプルに」をミッションに掲げ、お金を扱うすべての事業者・個人がもっと豊かな生活ができることを目指しています。 さて、決済というミッションクリティカルなテーマを扱うにあたって、品質保証は最も重要な課題

                              テストを5倍速にする - BASEプロダクトチームブログ
                            • 8.2. pytest - ゼロから学ぶ Python

                              ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト

                              • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

                                Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

                                  Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
                                • 【pytest】モックの使い方まとめ

                                  はじめに 下記のような処理の場合、そのまま実行させてテストするのが難しかったりします。 外部システムへアクセスする ⇒ 外部APIやスクレイピングしてたりする場合 ライブラリに依存する処理 ⇒ ライブラリの処理結果ごとのテストをしたい(戻り値、例外の種類での分岐など) テスト実行の度に返す値が異なる処理を利用する ⇒ 現在日時、ランダム値は、実行の度に変化するのでテストの時だけ固定値にしたい こういう場合、モックを使うと処理を差し替えられるので便利です。 使い方 前提 pytestとpytest-mockのライブラリを利用します。 pytest-mockはunittest.mockのラッパーです。書き方は異なるが、だいたいunittest.mockと同じような感じです。 with使ってpatchする方法も検索すると出てきたが、1つのテストでここまでは実際の動きで、ここからはモックで動かす状

                                    【pytest】モックの使い方まとめ
                                  • pytest で単体テストの方法まとめ - Qiita

                                    概要 Python には pytest という単体テストを書く機能があり、便利なのですが、他の言語と若干仕様が異なるので、よく使う機能を備忘録としてまとめておきます。 テストの書き方・実行方法 CreateXxx というクラスが print_aaa というメソッドを持っている場合のテストケース。 import pytest from xxx import CreateXxx, XxxError class TestCreateXxx: # 通常の評価 def test__can_print_aaa(self): xxx = CreateXxx() assert xxx.print_aaa(111) == 'aaa' # エラーがでることを評価 def test__can_raise_error(self): xxx = CreateXxx() with pytest.raises(XxxE

                                      pytest で単体テストの方法まとめ - Qiita
                                    • pytest:フィクスチャ(fixture)の使い方 - Qiita

                                      はじめに pytestはPython用のテストツールです。 標準のunittestに比べ、テストエラー時の結果が分かりやすいのが特徴です。 例として、辞書オブジェクトを比較する以下のテストコードをunittestとpytestそれぞれで実行してみます。 # test_dict.py import unittest dict1 = {'name': 'Tom', 'age': 20} dict2 = {'name': 'John', 'age': 23} class TestUnitTest(unittest.TestCase): def test_one(self): assert dict1 == dict2 $ python -m unittest F ===================================================================

                                        pytest:フィクスチャ(fixture)の使い方 - Qiita
                                      • PythonのデフォルトのUnitTestsではなくpytestを使うべき7つの理由 - MyEnigma

                                        リンク 目次 目次 はじめに PythonのデフォルトのUnitTestsではなくpytestを使うべき7つの理由 1. クラスを作らずにシンプルな関数でテスト関数を作ることができる。 2. 様々なassert関数を覚えなくて良い 3. テストが失敗した理由がわかりやすい 4. テストの検索と実行が高機能 (auto discovery) 5. 様々なプラグインが公開されており、簡単に機能追加できる 6. UnitTestsで作成されたテストも実行できる 7. テストの実行時間のランキングを簡単に作成してくれる 便利なコマンドライン引数表 PythonのIDEとpytestの連携 参考資料 MyEnigma Supporters はじめに これまで、自分はPythonのユニットテストには、 PythonのデフォルトのUnitTestsを使っていましたが、 docs.python.org m

                                          PythonのデフォルトのUnitTestsではなくpytestを使うべき7つの理由 - MyEnigma
                                        • Pythonにおけるimportの仕組みとPytest

                                          PytestでPythonのテストを書いているときにテスト対象モジュールのimportやディレクトリ構成で色々詰まったので、これを機にPythonにおけるimportの仕組みから調べましたので記事にまとめます。 Pythonを書き始めてそれなりの年月が経ちましたが意外とそもそものimportの仕組みはなあなあで済ませていたので、個人的にはかなり勉強になりました。 この記事では大きく分けて以下2点についてまとめます。 Pythonのimportの仕組み 上記を踏まえたテスト時(pytest)のimportについて Pythonにおけるimportの仕組み Pythonのプログラムを書いていれば当たり前のようにimportを使っていると思います。 importする対象としては主に以下3つに分けられると思いますが、そもそもどうしてこれらのライブラリをimportできるのでしょうか。 自分で書いた

                                            Pythonにおけるimportの仕組みとPytest
                                          • pytest&Docker outside of Docker(DooD)を利用してDBアクセスのテストを副作用なく軽量に実現する

                                            前書き アプリケーション開発において大変重要となるのがテストです。既存のアプリケーションに様々な変更が入る度に、既存の機能に新たなバグを潜めてないか確認するために、多くのエンジニアが苦汁を舐めた経験があることでしょう・・・。(そこでバグが見つかればいいが、忘れたころに発見すると・・・) そんな面倒なテストを自動化するために、最近はテストコード、あるいはテスト自動化が流行ってきていると思います。 ただし、オンプレミスでテストを行っていると、すぐにテスト用のDBなんて用意出来ないです。そのため、開発用で利用しているDBをそのまま使うパターンがままあると思います。 しかし、そうなると次に問題になるのがDBの状態です。様々な開発及びテストによってぐちゃぐちゃになったDB内部のデータを利用すると、その状態に応じて、結果は変わってきます。このような状態になってしまうと、本来確認したい観点を確認すること

                                              pytest&Docker outside of Docker(DooD)を利用してDBアクセスのテストを副作用なく軽量に実現する
                                            • Python開発環境構築手順(VSCode, Docker, Poetry, isort, black, flake8, pytest) - Qiita

                                              Python開発環境構築手順(VSCode, Docker, Poetry, isort, black, flake8, pytest)Python はじめに Python開発環境を整備し直したときのメモです コードはこちらに配置しています どういう開発環境を作るか VSCode・Docker上で実行する(ローカルでの実行を想定) パッケージ管理はPoetryを利用する linter, formatterはisort, black, flake8を利用する コマンドだけでなくVSCodeからも利用する テストはpytestを利用する Jupyter Notebookも利用可能にしておく セットアップ手順 事前準備【ローカル】 VSCode・Dockerのインストール VSCode拡張機能Remote Developmentのインストール 設定ファイルの配置 (参考)フォルダ構成 . ├──

                                                Python開発環境構築手順(VSCode, Docker, Poetry, isort, black, flake8, pytest) - Qiita
                                              • pytestチートシート - Qiita

                                                # 引数の文字列を結合して返却します。 def join(val1: str, val2: str) -> str: return val1 + val2 def test_join(): # assertを利用して、echoが期待する結果となっていることを確認 assert join('dummy1', 'dummy2') == 'dummy1dummy2' # assert notを利用して、echoが期待しない結果となっていないことを確認 assert not join('dummy1', 'dummy2') == 'dummy1' テストの実行方法 プロジェクトのルートがC:/python/pytest_cheatsheetであるとの前提の説明となります。 pytestのテストケースのモジュール(.pyファイル)を相対パスで指定する場合は、cd C:/python/pytest_c

                                                  pytestチートシート - Qiita
                                                • [Pytest] pytest 入門、テストコードを書く方法

                                                  pytest とは pytest: helps you write better programs — pytest documentation pytest は Python のテストツールの1種です。Python には unittest とという標準ライブラリのテストツールがありますが、より Python らしくテストコードを書くことができるのが pytest の特徴です。 pytest は小規模なテストコードの作成から複雑なテストコードの拡張まで対応できる優秀なツールであり、Python のデファクトスタンダードとなっているテストツールでもあります。 pytest のインストール pip 経由で pytest をインストールします。 $ pip install pytest pytest テストコードの基本 pytest は test_*.py もしくは *_test.py という名

                                                    [Pytest] pytest 入門、テストコードを書く方法
                                                  • pytestした時にModuleNotFoundErrorが出る時の原因と対処法

                                                    背景 Pythonでは大体pytestを使うのですが、序盤でよくこけるけど、毎回原因を忘れてしまって思い出すまでに時間がかかって困る以下のpytest利用時のエラーについての備忘録を書いておきます E ModuleNotFoundError: No module named 'hogehoge' 現状 ここでは以下のディレクトリ構成のプロジェクトを想定しています。 . ├── poetry.lock ├── pyproject.toml ├── src │   └── mypkg │   └── func.py └── tests └── test_mypkg └── test_app.py [tool.poetry] name = "pytest_test" version = "0.1.0" description = "" authors = ["hogehoge"] [tool.p

                                                      pytestした時にModuleNotFoundErrorが出る時の原因と対処法
                                                    • [GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 | DevelopersIO

                                                      はじめに GitHub ActionsのWorkflowにて、pipenvを使いつつcache化させて効率よく動かす、ということをされている方は多いと思われます。私自身、担当プロジェクトにて効率よく動かしている、と思っていました。一応キャッシュはしていたものの、キャッシュを無視して毎回インストールするフローになっていたのは不覚の極みでした。 正常にキャッシュされているかどうかの見極めと、pipenvとactions/cacheを併用したpytestの動作例をまとめました。 正常にキャッシュされているかどうかを見極める セルフホストしていない限りは、ActionsのWorkflowログが確認の全てです。 キャッシュキーが意図した通りになっているか確認する actions/cacheにて生成を想定するキーは恐らく次のような構成でしょう。 Linux-pipenv-8772fa24c3defb2

                                                        [GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 | DevelopersIO
                                                      • FastAPI+SQLAlchemyをpytestでテスト

                                                        FastAPIでSQLAlchemyを利用するサンプルコードが公式ドキュメントにあります。 サンプルコードのmain.pyの重要な部分を抜粋するとこんな感じです。 app = FastAPI() # Dependency def get_db(): db = SessionLocal() try: yield db finally: db.close() @app.get("/users/", response_model=List[schemas.User]) def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): users = crud.get_users(db, skip=skip, limit=limit) return users SessionLocal()で作成したセッシ

                                                          FastAPI+SQLAlchemyをpytestでテスト
                                                        • [Python] pytest でモックを使う方法(pytest-mock)

                                                          [Python] pytest でモックを使う方法(pytest-mock) 2021.02.12 Python pytest, pytest-mock, Python, テスト pytest でモックを利用する pytest を利用してテストをコーディングする場合にモックを利用したい場合、pytest-mock というライブラリを使うと便利です。 pytest-mock は mock パッケージの薄いラッパーを提供します。 この記事では pytest-mock を使ったいろいろなモックの使い方を紹介します。 pytest の基本的な使い方は以下の記事にまとめてます。 [Pytest] pytest 入門、テストコードを書く方法 │ Web備忘録 モックを利用するとテスト用で一時的に処理を差し替えてくれます。モック化した箇所は対象のテスト中においてのみモックとして扱われ、それ以外のテストで

                                                            [Python] pytest でモックを使う方法(pytest-mock)
                                                          • 改善施策のプランニングが鍵 - 大規模バッチ処理のテストフレームワーク刷新プロジェクト

                                                            dummy GA 新しいURLに転送しています… https://stockmark-tech.hatenablog.com/entry/2023/12/05/130000...

                                                              改善施策のプランニングが鍵 - 大規模バッチ処理のテストフレームワーク刷新プロジェクト
                                                            • pytest, mock, patchについて整理したい

                                                              pytest、unittest.mock.patchらへんでハマっていたのでメモ。 整理したかったこと 同じ機能で、書き方が何種類もあること 引数の使い分け 注: このページでは同じものを別の名前で指しているかもしれないです(例:package, module, library という単語は同じものを指すことがある) テストモジュールについて unittest ... Pythonビルトインのテストpackage pytest ... 3rd partyのテストpackage。unittestよりよく使われていて主流らしい unittestをそのまま使える importしなくても使える(pytest.xxxを使わないとき) mock について オブジェクト(何でも)を自由に置き換えるもの unittest.mock ... unittestのモジュール pytest-mock ... py

                                                                pytest, mock, patchについて整理したい
                                                              • ざっくり分かるpytestのfixture - Qiita

                                                                pytestにおけるfixtureとは テストの事前処理、事後処理を記載できるpytestの機能です。 SetUp(事前処理), TearDown(事後処理)を1つの関数で書けます。 setup_class, setup_functionのように、スコープごとに違う関数を呼ぶ必要がありません。 fixtureからfixtureを呼び出すことができ、処理を階層的に記述できます。 SetUp, TearDownじゃダメなの? ダメかと言われるとダメじゃありません。チーム内でスタイルが統一されている方が大事です。 機能面だけで言うと、pytestにおいてはfixtureを利用する方がリッチではあります。 ブラウザ操作自動化ツールであるPlaywright for Pythonはfixtureを利用しています。 上記を採用する場合、可読性と保守性の観点からfixtureに統一することを勧めます。

                                                                  ざっくり分かるpytestのfixture - Qiita
                                                                • Python3とpytestを使ってCircleCIに入門する (書きかけ) - たのしい駆動開発

                                                                  初心者でも分かりやすい関数とテスト、そしてCircleCIの設定ファイルで解説していきます。 今回のファイル構成はこのようになっています。 . ├── requirements.txt ├── src │   └── a.py └── tests ├── __init__.py └── test_a.py まずはじめに、簡単に数値計算する関数を書きます。 src/a.py def b(a, b): return a * b 次に、テストをする関数を書きます。 test_a.py from src.a import b def test_b(): assert 2 == b(1, 2) ようやくお待ちかね、CIrcleCIの設定ファイルを書きましょう。コメントアウトで簡単な説明を書いたので、わかりやすいかと思います。 これが今回の設定ファイルです。 詳しくはCircleCIのサイトを見てくだ

                                                                    Python3とpytestを使ってCircleCIに入門する (書きかけ) - たのしい駆動開発
                                                                  • pytestのすぐに使えるカバレッジ計測 - Qiita

                                                                    カバレッジを計測するには pytestのテストコードを作ったら、カバレッジを確認しましょう。 pytestのpluginでカバレッジ計測の便利なライブラリがあります。 名前は、「pytest-cov」です。 pytest-covの最新情報はこちら参照。 https://pypi.org/project/pytest-cov/ 上記サイトにオプションの指定例がいろいろ書いてあります。 知っておくと便利なオプションを選んで、やりたいこと別にコマンドと実行例を記載します。 pytest-covのインストール前に、pytestのインストールから動かし方まではこちらです。 https://qiita.com/kg1/items/4e2cae18e9bd39f014d4 pytest-covインストール pipコマンドで簡単に導入できます。 フォルダ構成、プログラム 例として以下のフォルダ構成、プログ

                                                                      pytestのすぐに使えるカバレッジ計測 - Qiita
                                                                    • pytestのfixtureを引数付きで実行して戻り値を返却して後処理をする方法 - Qiita

                                                                      pytestのfixtureを引数付きで実行と戻り値の返却をして後処理をする際に少しつまづいたので、備忘録として残しておく。 はじめに 以下のやり方は、分かっていたが、戻り値を返却した後、テスト後の処理を追加する方法がわからなかった 後処理を実行する方法 @pytest.fixture def setUp(): print('start') yield print('end')

                                                                        pytestのfixtureを引数付きで実行して戻り値を返却して後処理をする方法 - Qiita
                                                                      • testcontainers-python: pytest 実行時に使い捨て可能な LocalStack を起動する - kakakakakku blog

                                                                        Testcontainers を使うと,テストコードを実行するときに必要になるデータベース・キャッシュ・キューなどの依存関係をコード上で管理できて,実行後にはコンテナを自動的に消してくれるという使い捨て可能な仕組みを簡単に作れる❗️Testcontainers のサイトに載っている「Test dependencies as code」という表現はピッタリだと思う👌 testcontainers.com Testcontainers は Java / Go / .NET / Rust など多くの言語をサポートしているけど,今回は Python 用の testcontainers-python を試してみた.検証に使ったコードを紹介しつつ,簡単にまとめておく✍ また Testcontainers Cloud もあったりする🌩 testcontainers.com 前提 今回は以下の前提で試

                                                                          testcontainers-python: pytest 実行時に使い捨て可能な LocalStack を起動する - kakakakakku blog
                                                                        • Playwright for PythonでPytestコードが生成できるようになった - Qiita

                                                                          サマリ Playwright for PythonのVer.1.22からPytestコードが生成(codegen)できるようになっています。 本記事ではPlaywrightのインストールからPytestコードの生成までを試します。 Codegen now supports generating Pytest Tests インストール > playwright codegen --help Usage: playwright codegen [options] [url] open page and generate code for user actions Options: -o, --output <file name> saves the generated script to a file --target <language> language to generate, one

                                                                            Playwright for PythonでPytestコードが生成できるようになった - Qiita
                                                                          • Pytest Plugins to Love ❤️

                                                                            Plugins can modify and extend a lot of aspects of pylint, including how the output is done. This screenshot of a pytest run with pytest-sugar was taken by Martin Thoma. Pytest is extensible and has plenty of plugins. You don’t need to use any of them, but you might find some very useful. I love this because you have an easy time to get started with unit testing, while still finding amazing stuff w

                                                                              Pytest Plugins to Love ❤️
                                                                            • pytestでflaskの単体テストをする - Qiita

                                                                              はじめに 開発のテストではライブラリやフレームワークを使用して自動化するのが一般的になっています。そこでpytestを使用してflaskの単体テストを自動化しようとしましたが、シンプルな例が見つけられなかったのでシンプルな例と簡単な説明をまとめました。 環境 python:3.6.5 flask:1.0.2 pytest:5.3.5 インストール pip install pytestでインストールするだけです。 pytestで自動化するのに必要なもの pytestで単体テストを自動化するために必要なものは、テスト対象のソース(テストされる開発物)とテスト方法を記載したソースが必要になります。テスト方法のソースは、テスト対象の引数と関数の結果を与えてどのように比較するかを記載しています。 簡単な関数の単体テスト自動化 flaskの単体テストの自動化の前に、簡単な関数を通じてpytestの使い

                                                                                pytestでflaskの単体テストをする - Qiita
                                                                              • playwright-pytestで失敗時の動画を撮っておく方法

                                                                                ※ Qiitaに書いてた内容をzennに転記しただけです まえおき playwright-pytest を使ってE2Eテストを始める方法については、以下の記事で紹介した。 ここでは、失敗時の画面キャプチャを撮る方法までは書いたが、実際に自動試験スクリプトを書いていると「どうしてそうなった?!」と思うことが稀によくある。(しかも、そんなテストに限って、じっと見張っていると何回やってもpassしたりするw) 失敗するまで自動テストを見張っておくのは不毛すぎるので、見張らなくてもいいようにエビデンス動画を残しておきたいと思うのがエンジニアである。 playwright-pythonで動画を撮る方法 playwright-python には、自動操作中の動画を記録する機能がある。 以下の記事でも言及されているように、 browser.new_context() もしくは browser.new_p

                                                                                  playwright-pytestで失敗時の動画を撮っておく方法
                                                                                • GitHub Actionsを用いた自動テストの実行と結果集計 - Qiita

                                                                                  1. はじめに GitHub Actionsを用いて自動テストの実行と結果の集計を行う方法を説明します。 具体的には、ソースコードがGitHubへpushされたタイミングで、pythonで書かれたテストをpytestを使って実行し、GitHub上に下図のサマリを表示します。 今回、GitHub Actionsを初めて使ったので、学習のためにGitHub Actionsの基本についても触れています。 2. GitHub Actionsとは GitHubのCI/CDツール。 push, pull requestなどのGiHub上のアクティビティやスケジュールした時間、外部イベントをトリガーとして、ワークフローを作成できます。 特徴 Linux, macOS, Windowsすべてのコンテナに対応 Node.js, Python, Java, Rubyなど、様々な言語に対応 複数のジョブを並行し

                                                                                    GitHub Actionsを用いた自動テストの実行と結果集計 - Qiita

                                                                                  新着記事