テスト駆動開発 4日目

前回のところで、次のステップを書いたところ、予定通りにAttribute errorが出されました。

Attribute Error で怒られた

ちょっと待て

違う、私がやりたかったのはケント・ベックさんのテスト駆動開発を写経したかったのではなく、Pythonでテスト駆動開発を体験したかったんでした。
なぜケント・ベックさんのテスト駆動開発を参照したのかというと、テスト駆動開発へのとっかかりを思い出したかったからです。

気を取り直す

さて、それでは何の題材に選べば良いのか?とかるーくググったところ、fizzbuzz問題というのがありました。
というか、とても良い写経の題材がありました。リンクはこちら。

fizzbuzz問題ってなに?みたいなのはこのリンク先をご参照いただくとして、私の、このブログではテスト駆動開発を進めていきたいとおもいます。

何は無くともToDoリスト

最初は、ToDoリストを作るところから。ここから写経になります。

  1. 数を文字列にして返す
    1. 1の時は、1と表示する
    2. 2の時は、2と表示する
  2. 3の倍数はFizzと返す
  3. 5の倍数はBuzzと返す
  4. 3と5の倍数はFizzBuzzと返す

そしてコード。ここも分からないことだらけですが、いったん写経してみます。ホント、Qiitaで書いてくださった方、感謝です

import pytest

class TestStringConvert:
    # 前準備
    @pytest.fixture
    def target(self):
        from fizz_buzz import string_convert
        return string_convert
    
    # 検証
    def test_return_value(self, target):
        assert target(1) == '1'

ドキドキで実行してみると、出たよー見つからないやつー環境変数に追加しないといけないやつー。もう見慣れました。

pytestはどこだよ!って怒られている

もう疲れた、、今日はここをキャンプ地とさせていただきます。