函数get\u full\u name将名字和姓氏大写,并返回全名,如下所示:
full_name = first + ' ' + last
full_name = full_name.title()
下面的代码应该失败,但正在通过。我在用unittest
formatted_name = get_full_name('janis', 'joplin')
self.assertEqual(formatted_name, 'anis Joplin')
unittest输出如下:
Ran 0 tests in 0.000s
OK
为什么这次考试应该不及格却通过了
完整代码如下:
以下是供您审阅的完整代码:
import unittest
def get_full_name(first, last):
full_name = first + ' ' + last
full_name = full_name.title()
return full_name
class NamesTestCase(unittest.TestCase):
def test_first_last_name(self):
formatted_name = get_full_name('janis', 'joplin')
self.assertEqual(formatted_name, 'anis Joplin',)
unittest.main()
你有缩进错误。你的
unittest.main()
调用在你的类中,它应该是全局级别的,或者更好的是,在一个主守卫中,比如因为类主体中的语句仍在执行,所以仍然会调用unittest运行程序,但是在调用它时,unittest.TestCase没有定义的子类供它查找,这就解释了
Ran 0 tests in 0.000s
输出请注意,如果在namestcases之前添加一个单独的测试类,您将看到这些测试即使在错误的位置调用
unittest.main()
也会运行,这证实了上述情况相关问题 更多 >
编程相关推荐