$30 off During Our Annual Pro Sale. View Details »

pytestの第一歩 〜「テスト駆動Python」の紹介〜

pytestの第一歩 〜「テスト駆動Python」の紹介〜

mizzsugar

June 09, 2021
Tweet

More Decks by mizzsugar

Other Decks in Programming

Transcript

  1. pytestの第一歩
    2021-06-09
    @stapy
    mizzsugar0425
    〜「テスト駆動Python」の紹介〜
    1

    View Slide

  2. Agenda
    - 自己紹介
    - 本の概要
    - 対象読者
    - おすすめポイント
    - 関連本
    2

    View Slide

  3. お前、誰よ?
    - Twitterはこのアイコン (@mizzsugar0425)→
    - Python歴3年
    - Spready株式会社 (we are hiring!!)
    - 好き: コーヒー、自転車、ビール
    - Stapy5代目LT女王
    - 静岡住みでフルリモートで働いています
    - Django Congressで登壇します!
    Djangoでの型ヒントについて話ます。
    https://djangocongress.jp/
    3

    View Slide

  4. 本の概要
    - 「Python Testing with pytest」の翻訳版
    https://amzn.to/3uY612B
    - pytestでのテストコードの書き方を紹介
    - 基本的な文法だけでなく、
    プラグインや他ツールと合わせた使い方も
    - サンプルコードはPython3.6、pytest 3.2。Python3.9の今でも使える内容
    - 本のURL↓
    https://amzn.to/3ggb6y0
    4

    View Slide

  5. 対象読者
    - pytestでテストを書いたことがないけれどもやってみたい方
    - テストコード自体書いたことがない方でも読める内容です
    ※Pythonの基本的な文法は知っている必要があります
    5

    View Slide

  6. おすすめポイント
    6

    View Slide

  7. pytestの使い方がまとまっている
    - 詳細な解説とコードつきで基本から応用までまとまっています
    - 1冊辞書代わりに手元にあると安心
    7

    View Slide

  8. よく言われるpytestのオススメ機能
    - pytest.mark.parametrize
    - フィクスチャ
    🤔
    とよく言われるけど、
    どういう仕組みなのかとか
    何が嬉しいのか良くわからない…
    8

    View Slide

  9. 具体的なコードも載っている
    - テスト駆動で実装が進みます
    - コードは簡単なものなので、pytestの文法を理解しやすいです
    - 基本的な文法だけでテストコードを書く所から始まり、
    フィクスチャやプラグインを用いてテストコードを改善する流れが
    分かります
    - フィクスチャについては、2章使って扱うほど手厚いです(全7章+付録)
    9

    View Slide

  10. 練習問題がついている
    - 各章に練習問題がついています
    - 各章についているサンプルコードにちなんだ問題
    - ☓ 読んで終わり ○ 読んで書いて身につける
    10

    View Slide

  11. 私の学び方
    pytest学びたて
    - 1章読む→練習問題を解く→分からなかった箇所をもう1回読む
    - pytestを使って他のサイトに載っている練習問題を解いてみる
    どちらもTDDのための題材だけど、テストコード練習にも良いかと!
    http://devtesting.jp/tddbc/
    https://absj31.hatenadiary.com/entry/20120721/1342880403
    - ↑の前に、付録Gの写経するのも良いかも
    現場で実践中
    - テストコードが上手く書けない時に読む→本の内容を試してみる
    11

    View Slide

  12. 付録G
    - 日本語訳版のオリジナルコンテンツ
    - 翻訳者のやっとむさんが著者
    - テスト駆動開発でプログラムを実装しています
    - 何を考えて実装を進めているかまで書かれています
    - まるでやっとむさんとペアプロしているよう
    12

    View Slide

  13. 関連本
    1. テスト駆動開発
    2. レガシーコード改善ガイド
    13

    View Slide

  14. 1. テスト駆動開発
    - 「テスト駆動Python」はどちらかというと
    pytestの文法に重きを置いていたので
    TDDの考え方や進め方をより詳しく学ぶならこの本
    - 2章目に使われているコードはPython
    (ただし、Pythonの標準モジュールであるunittestモジュールを使用)
    - 本のURL↓
    https://amzn.to/3v4iAtc
    14

    View Slide

  15. 2. レガシーコード改善ガイド
    - まだ読んでないけど、今回の発表でpytestおよびテストコードを
    学び直した際に読みたくなりました🔥
    - テストコードが書かれておらず、メンテナンスしにくい複雑なコードを
    「レガシーコード」と定義
    - レガシーコードを分析し、テストコードを追加する方法が書かれているらしいです
    - 本のURL↓
    https://amzn.to/3znqX6O
    15

    View Slide