草庐IT

unittest2

全部标签

python - 在 Python unittest 框架中修改全局变量

我正在使用Python进行一系列单元测试,其中一些取决于配置变量的值。这些变量存储在全局Python配置文件中,并在其他模块中使用。我想为配置变量的不同值编写单元测试,但还没有找到方法。我无法重写我正在测试的方法的签名。这就是我想要实现的目标:frommy_moduleimportmy_function_with_global_varclassTestSomething(self.unittest):deftest_first_case(self):fromconfigimportMY_CONFIG_VARIABLEMY_CONFIG_VARIABLE=Trueself.assertE

python - 在 Python unittest 框架中修改全局变量

我正在使用Python进行一系列单元测试,其中一些取决于配置变量的值。这些变量存储在全局Python配置文件中,并在其他模块中使用。我想为配置变量的不同值编写单元测试,但还没有找到方法。我无法重写我正在测试的方法的签名。这就是我想要实现的目标:frommy_moduleimportmy_function_with_global_varclassTestSomething(self.unittest):deftest_first_case(self):fromconfigimportMY_CONFIG_VARIABLEMY_CONFIG_VARIABLE=Trueself.assertE

python - 为什么 unittest 中的断言使用 TestCase.assertEqual 而不是 assert 关键字?

Python的内置unittest模块使用TestCase.assert*方法进行断言:classFooTest(TestCase):deftest_foo(self):self.assertEqual(1,1)self.assertNotEqual(1,2)self.assertTrue(True)我通常使用测试运行器,例如nose或py.test允许在进行断言时使用内置的assert关键字:assert1==1assert1!=2assertTrueunittest的TestCase.assert*方法的动机是什么?这与使用内置assert关键字断言的优缺点是什么?是否有理由支持u

python - 为什么 unittest 中的断言使用 TestCase.assertEqual 而不是 assert 关键字?

Python的内置unittest模块使用TestCase.assert*方法进行断言:classFooTest(TestCase):deftest_foo(self):self.assertEqual(1,1)self.assertNotEqual(1,2)self.assertTrue(True)我通常使用测试运行器,例如nose或py.test允许在进行断言时使用内置的assert关键字:assert1==1assert1!=2assertTrueunittest的TestCase.assert*方法的动机是什么?这与使用内置assert关键字断言的优缺点是什么?是否有理由支持u

python - 使用 python unittest 抽象测试用例

是否可以创建一个抽象的TestCase,它会有一些test_*方法,但是这个TestCase不会被调用,这些方法只会在子类?我想我将在我的测试套件中拥有一个抽象的TestCase,并且它将为单个接口(interface)的几个不同实现进行子类化。这就是为什么所有的测试方法都是一些,只有一种,内部方法变化。我怎样才能优雅地做到这一点? 最佳答案 我不太明白你打算做什么——经验法则是“不要聪明地测试”-把它们放在那里,简单明了。但是为了实现你想要的,如果你从unittest.TestCase继承,每当你调用unittest.main()

python - 使用 python unittest 抽象测试用例

是否可以创建一个抽象的TestCase,它会有一些test_*方法,但是这个TestCase不会被调用,这些方法只会在子类?我想我将在我的测试套件中拥有一个抽象的TestCase,并且它将为单个接口(interface)的几个不同实现进行子类化。这就是为什么所有的测试方法都是一些,只有一种,内部方法变化。我怎样才能优雅地做到这一点? 最佳答案 我不太明白你打算做什么——经验法则是“不要聪明地测试”-把它们放在那里,简单明了。但是为了实现你想要的,如果你从unittest.TestCase继承,每当你调用unittest.main()

python - 如何断言 Unittest 上的可迭代对象不为空?

向服务提交查询后,我得到了一个字典或列表,我想确保它不为空。我使用Python2.7。我很惊讶unittest.TestCase类实例没有任何assertEmpty方法。现有的替代品看起来不太对:self.assertTrue(bool(d))self.assertNotEqual(d,{})self.assertGreater(len(d),0)Pythonunittest框架中是否缺少这种方法?如果是,那么断言可迭代对象不为空的最pythonic方式是什么? 最佳答案 空列表/字典评估为False,因此self.assertTr

python - 如何断言 Unittest 上的可迭代对象不为空?

向服务提交查询后,我得到了一个字典或列表,我想确保它不为空。我使用Python2.7。我很惊讶unittest.TestCase类实例没有任何assertEmpty方法。现有的替代品看起来不太对:self.assertTrue(bool(d))self.assertNotEqual(d,{})self.assertGreater(len(d),0)Pythonunittest框架中是否缺少这种方法?如果是,那么断言可迭代对象不为空的最pythonic方式是什么? 最佳答案 空列表/字典评估为False,因此self.assertTr

自动化测试——unittest框架(单元测试)

目录一、unittest框架解析1.1unittest的5个重要概念1.1测试用例的编写及代码1.2断言1.3用例的执行顺序1.4测试用例综合管理框架1.5HTML报告生成参考博文一、unittest框架解析unittest单元测试提供了创建测试用例,测试套件以及批量执行的方案,unittest在安装pyhton以后就直接自带了,直接importunittest就可以使用。 unittest对程序最小模块(类或者方法)的一种敏捷化的测试。单元测试:针对程序模块中进行正确性校验的测试工作(特点:应用中的最小可测单元、测试执行速度快、发现问题,更容易定位,一般由开发人员进行,也即是白盒测试)在自动

python - 如何使用 Python 的 unittest 测试已引发警告?

我在Python中有一个以下函数,我想用unittest进行测试,如果函数获取0作为参数,它会引发警告。我已经尝试过assertRaises,但由于我没有发出警告,所以它不起作用。defisZero(i):ifi!=0:print"OK"else:warning=Warning("theinputis0!")printwarningreturni 最佳答案 从Python3.2开始,您可以简单地使用assertWarns()方法。withself.assertWarns(Warning):do_something()