だから私はこのコードをやりたい Kata 練習のために。私は別のファイルにtddでカタを実装したい:
アルゴリズム:
# stringcalculator.py
def Add(string):
return 1
およびテスト:
# stringcalculator.spec.py
from stringcalculator import Add
import unittest
class TestStringCalculator(unittest.TestCase):
def add_returns_zero_for_emptyString(self):
self.assertEqual(Add(' '), 0)
if __name__ == '__main__':
unittest.main()
テストファイルを実行すると、次の結果が得られます。
Ran 0 tests in 0.000s
OK
ただし、失敗したテストを1つ返す必要があります。ここで何が恋しいですか?
python unittest doc :
最も単純なTestCaseサブクラスは、テストメソッド(名前がtestで始まるメソッド)を実装するだけです
そのため、メソッド名を次のように変更する必要があります。
def test_add_returns_zero_for_emptyString(self):
self.assertEqual(Add(' '), 0)
補足:また、すべてのテストが存在するファイルの名前は「test_」で始まる必要があります
同様の問題がありました。私の根本原因は、testクラス内にunittest.mainの実行ブロックを配置したことです。これにより、RAN 0テストのメッセージングが継続されました。クラスの外に移動しました。
if __name__ == '__main__':
unittest.main()
同じ症状ですが、問題は異なります。インデントのためにタブとスペースを混同していないことを確認してください。この問題は、オンラインリソースからコードをコピーし、必要に応じて更新するときに発生する可能性があります。タブとスペースはほとんどのエディターで非常によく似ているため、テスト関数が正しく定義されていない可能性があります。