一、错误示例
该错误来自python书中测试代码:
import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
"""测试name_function.py"""
def test_first_last_name(self):
"""能够正确地处理像Janis Joplin这样的姓名吗?"""
formatted_name = get_formatted_name('janis', 'joplin')
self.assertEqual(formatted_name, 'Janis Joplin')
unittest.main()
运行时会报错' No tests were found ',一般这种问题的原因是在NamesTestCase类中的方法应该以' test '为开头进行命名,以便于测试时python能够准确找到要测试的函数,但显然这不是导致出错的原因。
二、解决方法
通过增加代码:
if __name__ == '__main__':
unittest.main()
可以获得正确结果。
ps:
if __name__ == '__main__':
如果想要进一步了解上述代码的作用,推荐:Python中“if __name__=='__main__':”详细解析 - 知乎 (zhihu.com)