草庐IT

UnitTest

全部标签

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

python - 在旧版本的 Python 中使用 `@unittest.skipIf`

有了unittest模块,我喜欢featuretoskiptests,但它仅适用于Python2.7+。例如,考虑test.py:importunittesttry:importproprietary_moduleexceptImportError:proprietary_module=NoneclassTestProprietary(unittest.TestCase):@unittest.skipIf(proprietary_moduleisNone,"requriesproprietarymodule")deftest_something_proprietary(self):se

python - 如果我之前评估的属性不是 True,我如何装饰 Python unittest 方法以跳过?

我正在使用unittest在Python中编写一个测试用例,看起来像这样:classMyTestCase(unittest.TestCase):defsetUp(self):#...checkifI'monline-mightresultinTrueorFalseself.isOnline=True@unittest.skipIf(notself.isOnline,"Notonline")deftest_xyz(self):#doatestthatreliesonbeingonline但是,这似乎不起作用,我认为是因为@skipIf不能在函数声明的主体之外使用self。我知道我可以在t

python - 在 Python 中进行测试 - 如何在使用 unittest 进行测试时使用 assertRaises?

这个问题在这里已经有了答案:HowdoyoutestthataPythonfunctionthrowsanexception?(19个回答)关闭4年前。我正在尝试使用unittest在Python中做一个简单的测试,看看如果某个类获得了不适合构造函数的输入,它是否会抛出异常。该类看起来像这样:classSummaryFormula:def__init__(self,summaryFormula):self.atoms={}foratominre.finditer("([A-Z][a-z]{0,2})(\d*)",summaryFormula):symbol=atom.group(1)c

python - 如何阻止 Python unittest 打印测试文档字符串?

我注意到,当我的Python单元测试在函数顶部包含文档时,有时框架会在测试输出中打印它们。通常,测试输出包含每行一个测试:...ok如果测试有一个表单的文档字符串"""testthatsoandsohappens"""一切都很好。但是如果测试在一行中有一个文档字符串:"""testthatsoandsohappens"""然后测试输出不止一行,包括这样的文档:testthatsoandsohappens...ok我找不到记录在案的行为。有办法关闭它吗? 最佳答案 使用文档字符串的第一行;负责的方法是TestCase.shortDes