Skip to content

Commit 8aef098

Browse files
committed
[feat] Draft TDD
1 parent c71d7dc commit 8aef098

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

source/phpkansai/test-driven-development.rst.txt

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ TODOリスト
5656
--------------------------------------------------
5757

5858
.. code-block:: markdown
59-
:caption: TODOリスト
6059
6160
- [ ] 数をそのまま文字列に変換する
6261
- [ ] 3の倍数のときは数の代わりに「Fizz」に変換する
@@ -80,18 +79,34 @@ TODOリスト
8079
1を渡すと文字列1を返す テスト(Red🟥)
8180
--------------------------------------------------
8281

82+
.. code-block:: php
83+
84+
class FizzbuzzTest extends TestCase
85+
{
86+
public function test_1を渡すと文字列1を返す(): void
87+
{
88+
$this->assertSame(fizzbuzz(1), "1");
89+
}
90+
}
8391
8492
1を渡すと文字列1を返す 実装(Green🟩)
8593
--------------------------------------------------
8694

95+
.. code-block:: php
96+
97+
function fizzbuzz(int $number): string
98+
{
99+
return "1";
100+
}
87101
88102
* **仮実装** と呼ばれる
89103
* 作ったテストを間違えていない確認
90104

91105
リファクタリング?
92106
--------------------------------------------------
93107

94-
この時点ではなし
108+
* 重複があるか? ーなし
109+
* Red -> Green -> Refactorの1サイクル終了
95110

96111
実装を一般化したい! TODO追加
97112
--------------------------------------------------
@@ -109,15 +124,32 @@ TODOリスト
109124
2を渡すと文字列2を返す テスト(Red🟥)
110125
--------------------------------------------------
111126

127+
.. code-block:: php
128+
129+
class FizzbuzzTest extends TestCase
130+
{
131+
public function test_2を渡すと文字列2を返す(): void
132+
{
133+
$this->assertSame(fizzbuzz(2), "2");
134+
}
135+
}
112136
113137
2を渡すと文字列2を返す 実装(Green🟩)
114138
--------------------------------------------------
115139

140+
.. code-block:: php
141+
142+
function fizzbuzz(int $number): string
143+
{
144+
return "$number";
145+
}
146+
116147
仮実装から一般化された実装へ(「*三角測量*」)
117148

118149
リファクタリング?
119150
--------------------------------------------------
120151

152+
* 重複があるか?
121153
* Data Providerを検討できる
122154
* 発展:具体例を1つずつ追加し、仮実装から一般化した場合、テストケースとして片方消せる
123155

@@ -126,6 +158,8 @@ t-wadaさんのライブコーディングをどうぞ
126158

127159
リズムがつかめるのでオススメ
128160

161+
TODO
162+
129163
.. テストコードをバーっと書いている。その後実装をバーっと書く
130164
131165
小さいテスト駆動開発
@@ -148,6 +182,8 @@ Uncle Bob流
148182

149183
.. エラーが出たらRed(AssertionErrorだけでなく、コンパイルエラーなど)
150184
185+
.. クラスではなく、fizzbuzz関数でやることになりそう
186+
151187
デモをする(左右に開いて)
152188
============================================================
153189

0 commit comments

Comments
 (0)