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
mizzsugar
June 09, 2021
Programming
3
350
pytestの第一歩 〜「テスト駆動Python」の紹介〜
mizzsugar
June 09, 2021
Tweet
Share
More Decks by mizzsugar
See All by mizzsugar
厳しさとゆるさの間で迷う人に捧げる個人開発記
mizzsugar
0
19
SQLModel入門〜クエリと型〜
mizzsugar
1
990
フルリモート向いてないと思っていた私が、なんだかんだ健やかに 1年半フルリモート出来ている話
mizzsugar
0
140
Djangoでのプロジェクトだって型ヒントを運用出来る!
mizzsugar
4
8.6k
「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜
mizzsugar
0
570
データ分析ツール開発でpoetryを使う選択肢
mizzsugar
1
1.1k
unittest.mockを使ってテストを書こう
mizzsugar
5
6.4k
変数に変数を代入したら?
mizzsugar
0
2.6k
Djangoのパスワードハッシュアルゴリズムで_PyramidのWebアプリケーション作った.pdf
mizzsugar
0
900
Other Decks in Programming
See All in Programming
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
470
パスタの技術
yusukebe
1
370
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.1k
ワープロって実は計算機で
pepepper
2
1.3k
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
QA x AIエコシステム段階構築作戦
osu
0
270
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
660
Understanding Ruby Grammar Through Conflicts
yui_knk
1
100
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
1.1k
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
120
Vibe coding コードレビュー
kinopeee
0
440
Featured
See All Featured
Scaling GitHub
holman
462
140k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Speed Design
sergeychernyshev
32
1.1k
The Invisible Side of Design
smashingmag
301
51k
Embracing the Ebb and Flow
colly
86
4.8k
How to Ace a Technical Interview
jacobian
278
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
810
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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