Python单元测试无法运行。

3

我正在尝试定义一个测试方法。目前我没有收到任何错误,但测试实际上并没有运行。该测试旨在确保只返回在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个回答

3

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

只有以单词test开头的测试才会被unittest发现。有关更多详细信息,请参见文档中的“组织测试代码”


2
如文档所述:测试用例 是通过继承 unittest.TestCase 创建的。三个单独的测试是使用方法定义的,这些方法的名称以字母 test 开头。这种命名约定告诉测试运行器哪些方法代表测试。因此,您需要将以 test 开头的方法重命名。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接