草庐IT

Unittest

全部标签

python - 如何将 python 中的日志记录模块与 unittest 模块一起使用?

我想使用python日志记录模块来记录unittest的所有输出,以便我可以将它合并到我尝试编写的测试框架中。这样做的目的是使用2组输出运行测试,一组输出简单,告诉测试用例步骤,另一组输出调试级别更高,这样当出现问题时我们可以获得尽可能多的信息。输出将被放入两个文件中,一个我可以通过电子邮件发送给其他人,另一个保存在失败的情况下。我注意到TextTestRunner可以使用流,这可以与日志记录模块一起使用吗?我打算使用python2.7中的一些新功能。 最佳答案 你可以,但我不确定这是你最好的方法。对于这种方法,您将:实例化可由Te

python - 为什么 'unittest.main()' 执行后 python 不执行任何操作?

假设我有以下内容:importunittestclassMyTests(unittest.TestCase):deftest001(self):print'Thisistest001'deftest002(self):print'Thisistest002'if__name__=='__main__':unittest.main()print'Done'输出是:>>Thisistest001>>Thisistest002>>---------------------------------------------------------------------->>Ran2testsi

python 单元测试 assertRaises

我从python.orgunittest文档中逐字复制了这个:importrandomimportunittestclassTestSequenceFunctions(unittest.TestCase):defsetUp(self):self.seq=range(10)deftest_shuffle(self):#makesuretheshuffledsequencedoesnotloseanyelementsrandom.shuffle(self.seq)self.seq.sort()self.assertEqual(self.seq,range(10))#shouldraisea

python - 如何在 TestCase 子类中隐藏堆栈帧?

我想将自定义断言方法添加到TestCase子类。我试图从unittest模块复制我的实现,以便它尽可能匹配常规TestCase的行为。(我宁愿只委托(delegate)给self.assertEqual()但这会导致更多的回溯噪音,见下文。)unittest模块似乎自动隐藏了一些内部细节它在报告失败断言时的实现。importunittestclassMyTestCase(unittest.TestCase):defassertLengthIsOne(self,sequence,msg=None):iflen(sequence)!=1:msg=self._formatMessage(ms

Python 单元测试 : cancel all tests if a specific test fails

我正在使用unittest来测试我的Flask应用程序,并使用nose来实际运行测试。我的第一组测试是为了确保测试环境干净,并防止在Flask应用程序配置的数据库上运行测试。我确信我已经干净地设置了测试环境,但我希望在不运行所有测试的情况下对此有一些保证。importunittestclassMyTestCase(unittest.TestCase):defsetUp(self):#setsomestuffuppassdeftearDown(self):#dotheteardownpassclassTestEnvironmentTest(MyTestCase):deftest_envi

unittest单元测试

当你在编写测试用例时,可以使用Python内置的unittest模块来进行单元测试。下面是一个逐步指南,帮助你理解如何编写和运行基本的单元测试。导入必要的模块:首先,你需要导入unittest模块和需要测试的模块(例如,你的app.py)以及可能需要的其他模块。importunittestfromunittest.mockimportpatchfromappimportapp创建测试类:创建一个测试类,继承自unittest.TestCase。这个类将包含测试方法,每个测试方法都是一个独立的测试用例。classAppTestCase(unittest.TestCase):编写测试方法:在测试类

python - 如何在 python 中自动将十几个测试用例添加到测试套件中

我在不同的文件夹中有许多测试用例。在根目录中有一个测试运行器。unittest\package1\test1.pytest2.pypackage2\test3.pytest4.pytestrunner.py目前我手动将四个测试用例添加到一个测试套件中importunittestfrompackage1.test1importTest1frompackage1.test2importTest2frompackage2.test3importTest3frompackage2.test4importTest4suite=unittest.TestSuite()suite.addTests(

python - 如何设置多个单元测试共享的资源?

在Python中,如何为一整套单元测试设置一个设置(其中可能包含昂贵的函数调用)?例子:importunittestclassTest1(unittest.TestCase):defsetUp(self):print"expensivecall"deftest1(self):self.assertEqual(1,1)deftest2(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()将运行两次昂贵的调用:$pythonunittest.pyexpensivecall.expensivecall.------

python - 在单元测试中使用 doctests

我通常在我的模块中同时编写单元测试和文档测试。我想在运行测试套件时自动运行我所有的doctests。我认为这是可能的,但我在语法上遇到了困难。我有测试套件importunittestclassts(unittest.TestCase):deftest_null(self):self.assertTrue(True)if__name__=='__main__':unittest.main()我想将模块module1中的所有doctest添加到此套件中。我怎样才能做到这一点?我读过pythondocs,但我离成功还差得很远,在这里。添加行importdoctestimportmodule1

python - 使用 Python unittest 缓存 setUp() 的结果

我目前有一个unittest.TestCase看起来像..classtest_appletrailer(unittest.TestCase):defsetup(self):self.all_trailers=Trailers(res="720",verbose=True)deftest_has_trailers(self):self.failUnless(len(self.all_trailers)>1)#..moretests..这工作正常,但是Trailers()调用需要大约2秒才能运行。鉴于setUp()在每个测试运行之前被调用,测试现在需要将近10秒来运行(只有3个测试函数)在