草庐IT

unittest++

全部标签

Python unittest - 用列表断言字典

在为我的类(class)编写一些测试时,我遇到了有趣的简单问题。我想assertDictEqual包含一些列表的两个词典。但是这个列表可能不会以相同的方式排序->导致测试失败例子:deftest_myobject_export_into_dictionary(self):obj=MyObject()resulting_dictionary={'state':2347,'neighbours':[1,2,3]}self.assertDictEqual(resulting_dictionary,obj.exportToDict())这有时会失败,这取决于列表中元素的顺序FAIL:test_

python - unittest vs pytest vs nose

我是Python测试的新手,在这两者之间有一些困难。UnitTest、Pytest和鼻子。我正在构建一个测试库,它需要:安装一个包,更改conf重启deamons,并在Linux设备上取消安装包。哪一个测试框架在这三个测试框架之间最好?在测试结束时,我非常想拥有:n测试成功n跳过测试n测试失败你能提供一些建议吗?干杯 最佳答案 这是一个非常广泛的问题,有很多可用的资源。但是,我会推荐py.test,因为尽管有一套完整的工具,但入门非常容易。在开始之前,鼻比py.test需要更多的配置。UNITTest和Java中的JUnit一样,这

python - 在 python 中重载 unittest.testcase

我试图通过对unittest.testcase类进行子类化来创建自定义单元测试框架,但在处理__init__时似乎出错了方法。我不明白为什么ComplexTest的构造函数在BasicTest中的那个之前不会被调用而且异常似乎也与我的构造函数有关。我是Python的新手,因此非常欢迎任何有关如何解决这个特定问题或我的用例的替代架构的帮助。谢谢!1)test_framework.pyimportunittestclassBasicTest(unittest.TestCase):def__init__(self,*args,**kwargs):print('BasicTest.__init

python - 在 Python 3 中使用 unittest.mock 修补 input()

如何使用@patch装饰器来修补内置的input()函数?例如,我想测试question.py中的一个函数,它包含对input()的调用:defquery_yes_no(question,default="yes"):"""Adaptedfromhttp://stackoverflow.com/questions/3041986/python-command-line-yes-no-input"""valid={"yes":True,"y":True,"ye":True,"no":False,"n":False}ifdefaultisNone:prompt="[y/n]"elifdef

python - Django unittest 只读测试数据库

我一定错过了这里显而易见的东西。我正在使用django1.5.x并基于djangosTestCase类创建单元测试。当我从很多不同的源中提取(只读)时,我在设置中定义了一堆数据库。运行测试时,我只想创建默认数据库的测试版本,其余的我想标记为只读,而不是尝试重新创建为test_db_name(用户定义的不会(不能)具有创建这些的权限dbs无论如何)。当然这是可能的-正如我所说,我一定错过了明显的东西?感谢任何帮助。马修 最佳答案 不明显,不。Sort-ofdocumented,您可以设置测试时使用的数据库名称:设置.pyDATABAS

python - unittest 模块在脚本中时 sys.argv[1] 的问题

我有一个脚本可以做各种事情并使用sys.argv访问参数,但是当脚本到达代码的单元测试部分时,它说没有用于此的模块。我的脚本是:classMyScript():def__init__(self):self.value=sys.argv[1]defhello(self):printself.valuedefsuite(self):modules_to_test=('external_sanity_onvif','starttest')alltests=unittest.TestSuite()formoduleinmap(__import__,modules_to_test):alltes

python - 使用 unittest 测试作业失败

我的属性之一是setter调用验证函数的属性,如果新值无效,该验证函数会引发异常:pos.offset=0#@offset.settercallsvalidate(offset=0)#PositionError:Offsetmaynotbe0.我正在尝试添加一个测试以确保它失败。但是,我无法弄清楚如何让assertRaises处理作业。assertRaises的正常语法需要一个方法,而不是属性/属性:self.assertRaises(PositionError,pos.offset,0)#TypeError:'int'objectisnotcallable我试过的其他形式都是无效的P

python - assertRaises 失败,即使可调用引发所需的异常(python,unittest)

我有以下测试代码检查函数中是否引发异常。我希望测试通过,但显示失败。这是测试代码:importunittest#defineauser-definedexceptionclassMyException(Exception):def__str__(self):returnrepr("ERROR:Justraisedmyexception!")#thisismymainclasswithamethodraisingthisexceptionclassMyMainObject(object):deffunc(self):raiseMyException()#thetestclassclass

python - 使用 PASSWORD_HASHERS 为 unittest 用户创建一个简单的密码

在django1.2.5之前,我可以使用以下代码创建一个用户进行测试,然后登录:classTestSomeLoginRequiredView(TestCase):urls='sonloop.tests.test_urls'defsetUp(self):self.user=User.objects.create(username='testuser',password='some_password')deftest_the_view(self):response=self.client.get('/test_view_url/')self.assertEqual(response.sta

python - 带 Unittest 的 Flask-WTF/WTForms 验证失败,但没有 Unittest 也能工作

当我正常运行应用程序并在浏览器中登录时,它可以正常工作。但是使用Unittest它不会让我登录....,它会再次返回登录页面。“printrv.data”都只是打印登录页面的内容,但它应该打印索引页面的内容,即login_required如果有帮助,我正在使用SQLAlchemy作为ORM。任何人都知道什么可能是问题?如果需要更多代码,我会提供。我试图在这里搜索类似的问题,但没有找到。#!flask/bin/pythonimportosimportunittestfromconfigimportbasedirfromappimportapp,dbfromapp.modelsimport