2017-04-19 12 views
2

現在、テストメソッドを定義しようとしていますが、現在エラーは発生していませんが、テストは実際には実行されていません。このテストでは、list_first_wordsにある文字列の最初の単語だけが返されるようにしています。どんな助けも素晴らしいだろう!Python unittestが実行されていません

import unittest 

class TestSong(unittest.TestCase): 
    def first_words_list(self): 
     self.assertEqual(Song().firstwords(["hello world"]),["hello"]) 

if __name__ == "__main__": 
    unittest.main() 

テストされているCODE:

def firstwords(self,large_song_list): 
     all_first_words = [] # create an empty list 
     for track in large_song_list: 
      first_word = track.trackName.partition(' ')[0] 
      all_first_words.append(first_word) 
     return all_first_words 

答えて

1

あなたはtest_first_words_listにテストメソッドの名前を変更する必要があります。

unittestによってテストが検出されるのは、単語がtestで始まる場合のみです。詳細については、ドキュメントの"Organizing Test Code"を参照してください。

+0

ありがとうございました! – Avery9115

1

docに記載されているように:

テストケースはunittest.TestCaseをサブクラス化することによって作成されます。 3つの個別のテストは、名前がで始まり、文字がtestで始まるメソッドで定義されています。この命名規則は、テストを表すメソッドについてテストランナーに通知します。

したがって、メソッド名を変更するには、testで始まる名前を変更する必要があります。

関連する問題