Python unittest没有运行

时间:2017-04-19 01:35:06

标签: python function unit-testing

我正在尝试定义一个测试方法,目前我没有收到任何错误,但测试实际上并没有运行。测试试图确保只返回list_first_words中字符串中的第一个单词。任何帮助都会很棒!

import unittest

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

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

正在测试的代码:

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

2 个答案:

答案 0 :(得分:3)

您需要将测试方法重命名为test_first_words_list

只有在单词test开头时才通过unittest发现测试。有关详细信息,请参阅文档中的"Organizing Test Code"

答案 1 :(得分:2)

this StackOverflow answer

中所述
  

通过继承test创建测试用例。这三个单独的测试是使用名称以字母test 开头的方法定义的。此命名约定通知测试运行器哪些方法代表测试。

因此,您需要重命名方法,以{{1}}开头。