我是一个学习Python的入门CS类助教,我想知道是否有一种方法可以在文件夹中的多个.py文件上运行一个单元测试文件。在
例如,如果我做家庭作业1UnitTest.py我希望它能在C:/Users/Lien/Desktop/StudentSubmissionsHW1文件夹中的所有.py文件上运行,我该怎么做?在
studentpy文件填充了shw1: jsmithhw1.py bjonesh1.py sscotthw1.py 等等。在
另外,当我学习单元测试时,我读到了关于向unittest调用传递冗长参数的内容。有没有类似的东西可以让我看到所有失败的测试?在
例如,如果我有类似的东西:
def test_is_int(self):
self.assertEqual(is_int("-51"), True)
self.assertEqual(is_int("-5.1"), False)
self.assertEqual(is_int("5.1"), False)
self.assertEqual(is_int("51"), True)
self.assertEqual(is_int("0"), True)
self.assertEqual(is_int("-5-4"), False)
self.assertEqual(is_int("5..1"), False)
self.assertEqual(is_int("5-"), False)
self.assertEqual(is_int("5f"), False)
self.assertEqual(is_int("-"), False)
我可以设置我的结果来显示所有失败的assertEqual()函数而不是第一个函数吗?在
谢谢!在
是的,^{} 特性是根据以下用例设计的:
{{py>如果你想在这个文件上运行},那么默认情况下你可以在这个文件上运行
^{pr2}$至于您的第二个问题,第一个失败的断言将阻止函数中的其他测试运行;如果您需要更高的粒度,您最好为每个断言创建一个单独的测试函数,如here
更新:重新阅读您的问题,听起来您有一个单一的unittest文件,但希望在多个文件上运行这些unittests。如何做到这一点取决于在文件上运行它对您的特定用例意味着什么。但是,如果您的意思是这些文件有一些输入,您希望这些输入作为每个测试用例的附加“参数”,一种方法是将每个测试嵌套在一个forloop中,该循环遍历目录中的所有文件。我以前做过的另一件事是设置一个decorator,它将自动为您在所有修饰方法上设置此forloop,例如:
然后你可以这样使用它:
相关问题 更多 >
编程相关推荐