0

私は単体テストが初めてです。Python単体テストを使用して、以下のコードをどのように単体テストするのだろうかと思っていました。テストにはあらゆる種類のフレームワークを使用できますが、その理由を詳しく説明してください。みんなの助けに本当に感謝しています。

ところで、現在行っていることを実行する限り、コードを変更できます。とにかくBSでした:P

pyg = 'ay'

original = raw_input('Enter a word:')

word = original.lower()

first = word[0]

    if first == "a" and "e" and "i" and "o" and "u":
        new_word = word + pyg
        print new_word
    else:
        consonant_fix = word[1:]
        new_word = consonant_fix + word[0] + pyg
        print new_word
4

1 に答える 1

7

これは単体テストの良い候補ではないと思います。

I/O は重要ではありません。

これを、文字列を取り込んで操作し、新しい文字列を返す関数にリファクタリングすることをお勧めします。次に、特定の入力を使用して単体テストを作成し、必要な動作を確認できます。

書かれているように、あなたのコードはテストできません。

これを書き直すと次のようになります。

def rearrange(original, pyg):
    word = original.lower()
    first = word[0]
    if first == "a" and "e" and "i" and "o" and "u":
        new_word = word + pyg
    else:
        consonant_fix = word[1:]
        new_word = consonant_fix + word[0] + pyg
    return new_word


if __name__ == '__main__':
    pyg = 'ay'
    original = raw_input('Enter a word:')
    print rearrange(original, pyg)

このrearrange()関数をさまざまな入力でテストできます。

于 2013-07-03T21:27:29.460 に答える