Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
pytestの第一歩 〜「テスト駆動Python」の紹介〜
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mizzsugar
June 09, 2021
Programming
480
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
pytestの第一歩 〜「テスト駆動Python」の紹介〜
mizzsugar
June 09, 2021
More Decks by mizzsugar
See All by mizzsugar
厳しさとゆるさの間で迷う人に捧げる個人開発記
mizzsugar
0
60
SQLModel入門〜クエリと型〜
mizzsugar
3
1.5k
フルリモート向いてないと思っていた私が、なんだかんだ健やかに 1年半フルリモート出来ている話
mizzsugar
1
160
Djangoでのプロジェクトだって型ヒントを運用出来る!
mizzsugar
4
9.1k
「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜
mizzsugar
0
640
データ分析ツール開発でpoetryを使う選択肢
mizzsugar
1
1.2k
unittest.mockを使ってテストを書こう
mizzsugar
5
7k
変数に変数を代入したら?
mizzsugar
1
2.7k
Djangoのパスワードハッシュアルゴリズムで_PyramidのWebアプリケーション作った.pdf
mizzsugar
0
970
Other Decks in Programming
See All in Programming
New "Type" system on PicoRuby
pocke
1
780
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
190
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
130
net-httpのHTTP/2対応について
naruse
0
460
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
690
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
250
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
170
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
pytestの第一歩 2021-06-09 @stapy mizzsugar0425 〜「テスト駆動Python」の紹介〜 1
Agenda - 自己紹介 - 本の概要 - 対象読者 - おすすめポイント -
関連本 2
お前、誰よ? - Twitterはこのアイコン (@mizzsugar0425)→ - Python歴3年 - Spready株式会社 (we are
hiring!!) - 好き: コーヒー、自転車、ビール - Stapy5代目LT女王 - 静岡住みでフルリモートで働いています - Django Congressで登壇します! Djangoでの型ヒントについて話ます。 https://djangocongress.jp/ 3
本の概要 - 「Python Testing with pytest」の翻訳版 https://amzn.to/3uY612B - pytestでのテストコードの書き方を紹介 -
基本的な文法だけでなく、 プラグインや他ツールと合わせた使い方も - サンプルコードはPython3.6、pytest 3.2。Python3.9の今でも使える内容 - 本のURL↓ https://amzn.to/3ggb6y0 4
対象読者 - pytestでテストを書いたことがないけれどもやってみたい方 - テストコード自体書いたことがない方でも読める内容です ※Pythonの基本的な文法は知っている必要があります 5
おすすめポイント 6
pytestの使い方がまとまっている - 詳細な解説とコードつきで基本から応用までまとまっています - 1冊辞書代わりに手元にあると安心 7
よく言われるpytestのオススメ機能 - pytest.mark.parametrize - フィクスチャ 🤔 とよく言われるけど、 どういう仕組みなのかとか 何が嬉しいのか良くわからない… 8
具体的なコードも載っている - テスト駆動で実装が進みます - コードは簡単なものなので、pytestの文法を理解しやすいです - 基本的な文法だけでテストコードを書く所から始まり、 フィクスチャやプラグインを用いてテストコードを改善する流れが 分かります -
フィクスチャについては、2章使って扱うほど手厚いです(全7章+付録) 9
練習問題がついている - 各章に練習問題がついています - 各章についているサンプルコードにちなんだ問題 - ☓ 読んで終わり ◦ 読んで書いて身につける
10
私の学び方 pytest学びたて - 1章読む→練習問題を解く→分からなかった箇所をもう1回読む - pytestを使って他のサイトに載っている練習問題を解いてみる どちらもTDDのための題材だけど、テストコード練習にも良いかと! http://devtesting.jp/tddbc/ https://absj31.hatenadiary.com/entry/20120721/1342880403 -
↑の前に、付録Gの写経するのも良いかも 現場で実践中 - テストコードが上手く書けない時に読む→本の内容を試してみる 11
付録G - 日本語訳版のオリジナルコンテンツ - 翻訳者のやっとむさんが著者 - テスト駆動開発でプログラムを実装しています - 何を考えて実装を進めているかまで書かれています -
まるでやっとむさんとペアプロしているよう 12
関連本 1. テスト駆動開発 2. レガシーコード改善ガイド 13
1. テスト駆動開発 - 「テスト駆動Python」はどちらかというと pytestの文法に重きを置いていたので TDDの考え方や進め方をより詳しく学ぶならこの本 - 2章目に使われているコードはPython (ただし、Pythonの標準モジュールであるunittestモジュールを使用) -
本のURL↓ https://amzn.to/3v4iAtc 14
2. レガシーコード改善ガイド - まだ読んでないけど、今回の発表でpytestおよびテストコードを 学び直した際に読みたくなりました🔥 - テストコードが書かれておらず、メンテナンスしにくい複雑なコードを 「レガシーコード」と定義 - レガシーコードを分析し、テストコードを追加する方法が書かれているらしいです
- 本のURL↓ https://amzn.to/3znqX6O 15