我有以下测试代码检查函数中是否引发异常。我希望测试通过,但显示失败。这是测试代码:importunittest#defineauser-definedexceptionclassMyException(Exception):def__str__(self):returnrepr("ERROR:Justraisedmyexception!")#thisismymainclasswithamethodraisingthisexceptionclassMyMainObject(object):deffunc(self):raiseMyException()#thetestclassclass
在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
当我正常运行应用程序并在浏览器中登录时,它可以正常工作。但是使用Unittest它不会让我登录....,它会再次返回登录页面。“printrv.data”都只是打印登录页面的内容,但它应该打印索引页面的内容,即login_required如果有帮助,我正在使用SQLAlchemy作为ORM。任何人都知道什么可能是问题?如果需要更多代码,我会提供。我试图在这里搜索类似的问题,但没有找到。#!flask/bin/pythonimportosimportunittestfromconfigimportbasedirfromappimportapp,dbfromapp.modelsimport
有了unittest模块,我喜欢featuretoskiptests,但它仅适用于Python2.7+。例如,考虑test.py:importunittesttry:importproprietary_moduleexceptImportError:proprietary_module=NoneclassTestProprietary(unittest.TestCase):@unittest.skipIf(proprietary_moduleisNone,"requriesproprietarymodule")deftest_something_proprietary(self):se
我正在使用unittest在Python中编写一个测试用例,看起来像这样:classMyTestCase(unittest.TestCase):defsetUp(self):#...checkifI'monline-mightresultinTrueorFalseself.isOnline=True@unittest.skipIf(notself.isOnline,"Notonline")deftest_xyz(self):#doatestthatreliesonbeingonline但是,这似乎不起作用,我认为是因为@skipIf不能在函数声明的主体之外使用self。我知道我可以在t
这个问题在这里已经有了答案: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单元测试在函数顶部包含文档时,有时框架会在测试输出中打印它们。通常,测试输出包含每行一个测试:...ok如果测试有一个表单的文档字符串"""testthatsoandsohappens"""一切都很好。但是如果测试在一行中有一个文档字符串:"""testthatsoandsohappens"""然后测试输出不止一行,包括这样的文档:testthatsoandsohappens...ok我找不到记录在案的行为。有办法关闭它吗? 最佳答案 使用文档字符串的第一行;负责的方法是TestCase.shortDes
我正在使用模拟(http://www.voidspace.org.uk/python/mock/mock.html),遇到了一个我无法找出解决方案的特定模拟案例。我有一个函数多次调用some_function被模拟。deffunction():some_function(1)some_function(2)some_function(3)我只想模拟对some_function的第一次和第三次调用。我想对真正的some_function进行第二次调用。我用http://www.voidspace.org.uk/python/mock/mock.html#mock.Mock.mock_ca
我给出了一个在ipython/jupyternotebook中抛出错误的示例,但作为单个脚本运行良好。importunittestclassSamples(unittest.TestCase):deftestToPow(self):pow3=3**3assertpow3==27if__name__=='__main__':unittest.main()错误如下:---------------------------------------------------------------------------AttributeErrorTraceback(mostrecentcalll
我有一个使用Pythonunittest模块进行单元测试的大型项目。我有一个小方法可以控制系统行为的大部分方面。我需要此方法在UT下运行时返回固定结果以提供一致的测试运行,但对我来说,为每个UT模拟此方法的成本很高。有没有一种方法可以使这个单一方法能够识别单元测试,以便它可以在单元测试下运行时修改其行为? 最佳答案 您可以检查unittest模块是否已加载。它应该只在测试运行时加载。>>>'unittest'insys.modules.keys()False>>>fromunittestimportTestCase>>>'unitt