【在python单元测试中模拟一个类和一个类方法】教程文章相关的互联网学习教程文章

python-Matplotlib和单元测试

这个问题已经在这里有了答案: > How can I write unit tests against code that uses matplotlib? 3个我有一个GTK应用程序,可以绘制一些实时数据图.代码被拆分,以便一种方法处理创建图,另一种方法处理更新数据并重新绘制所述图. 显然,运行该应用程序使我可以查看这些图是否合理,并可以查看它们的外观.但是,这是机械和视觉测试. 有没有办法对此进行单元测试? 我可以设置...

使用线程时在单元测试Python中使用time.sleep()【代码】

我正在学习Python中的线程,并认为单元测试可以满足我的需求. 使用这个http://www.tutorialspoint.com/python/python_multithreading.htm作为我的起点.但是,当我在函数中使用time.sleep()时,测试似乎从该代码块返回.import unittest import thread import timeclass Test(unittest.TestCase):def test_threads(self):thread.start_new_thread(self.print_time, ("Thread 1", 1))def print_time(self, threadName, delay):count = 0...

Python单元测试,在测试用例之前声明【代码】

想象一下我有这样的测试:import unittestclass MyTests(unittest.TestCase):print("Starting")def test_first(self):.....是否可以确保在test_first()和其余代码之前执行print语句?从我所看到的来看,它确实会首先执行,但是有没有边缘情况?解决方法:您可以为此使用setUp()(docs)和setUpClass()(docs)方法. setUp()方法在每个单独的测试之前执行,而setUpClass()方法在此类中的所有测试运行之前执行.import unittestclass MyTests(...

单元测试失败后,只读Python文件【代码】

我正在尝试创建一个单元测试来测试以下功能:def decrypt_keys(self, enc_password):with open ('id_rsa','r') as privkeyfile:pem_key = privkeyfile.read()print(pem_key)priv = rsa.PrivateKey.load_pkcs1(pem_key)return rsa.decrypt(base64.b64decode(bytes(enc_password, 'utf-8')),priv).decode('utf-8')但是,单元测试失败并显示以下错误:ValueError: No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found----...

python-Django单元测试和全局夹具

我正在使用Django开发一个Web项目,并且正在使用python unittest框架.对于每个应用程序,我都有一些固定装置.这意味着,每个应用程序在灯具中都有一些相同的表.我想在应用程序和测试用例之间共享固定装置,因为否则,如果我更改模型,则必须更改引用此具体表的所有json固定装置. 使用全局夹具是否明智?解决方法:不要使用静态治具,这是一个不好的自动化测试模式.使用动态灯具. Django Dynamic Fixture具有创建全局夹具的选项.检查其Nose ...

python-如何在Django中以比应用程序更高的粒度对单元测试进行分组?

在Django项目中,单元测试通常由应用程序组织,而Django提供了一种工具来运行所有测试,针对单个应用程序的测试,单个测试用例或单个测试方法. 但是,我发现单个应用程序中的测试用例通常属于单独的逻辑组或集群,并且仅能够运行单个测试组通常会很有用.想象一下,例如: >我有几个测试用例,涵盖了单个模型的每个不同配置,并且我想在开发模型时运行所有这些(包括它们). (这特别麻烦,因为这样做的便宜方法是将测试用例集中在一起,所以现在您...

Python单元测试突然退出【代码】

有没有一种方法可以使python单元测试(我正在使用2.6,我有unittest2可用)在发生错误或失败时立即等待,而无需等待所有测试完成? 还有一个额外的问题:)有没有办法订购测试.例如,拉动可能在前面失败的测试?解决方法:使用-f选项运行unittest.Options:-f, --failfast Stop on first failure示例:./auth_test.py -f 在auth_test.py结尾的位置if __name__ == '__main__':unittest.main()订购-我不这么认为.至少不是开箱即用.但是,您只...

如何在独立程序中使用Python单元测试?【代码】

我想将Python 3.3与小型独立程序中的单元测试一起使用,即,我不想将其分为命令行部分和“功能”部分,如果它是在自身上启动的,则可以对其进行测试命令行. 所以我有这个小程序:import unittestdef stradd(a, b):return a + bclass test_hello(unittest.TestCase):def test_1(self):self.assertEqual(stradd("a", "b"), "ab")unittest.main() print(stradd("Hello, ", "world"))不幸的是,由于unittest.main()退出程序,所以从未达到pri...

python-带Web套接字的Tornado单元测试-堆栈上下文如何?【代码】

我使用龙卷风服务器已有一段时间了,不得不说我喜欢它.我有一台处理Web套接字和http请求的龙卷风服务器(在python3.2上运行).我想做的是用ws2py(实现一个ws客户端以与龙卷风IOLoop一起使用)编写一些单元测试(使用Web套接字).我看到龙卷风具有AsyncTestCase类,该类看起来非常有趣,尤其是与doc中所述的AsyncHTTPClient一起使用时:class MyTestCase2(AsyncTestCase):def test_http_fetch(self):client = AsyncHTTPClient(self.io_loop)...

python-单元测试需要会话的webapp2 RequestHandler【代码】

在某些RequestHandler视图上,我从会话中获取信息以确保用户当前已登录(自定义身份验证) 我在为单元测试模拟时遇到了麻烦. 我的RequestHandler类中的helper方法:@webapp2.cached_property def get_account(self):user_session = self.session.get('user-id')if user_session:user_account = helpers.get_username_data_from_session(self.session.get('user-id'))return user_account在一个实现的(我要测试的)视图中,get方法看起来...

使用Mock在Python单元测试中的函数内部模拟函数【代码】

我正在使用Mock进行Python单元测试.我正在测试一个函数foo,它包含一个不会返回任何内容的函数栏,但是会填充变量x(类型:io.StringIO),这是副作用.我已经使用MagicMock模拟了吧,但是我不知道如何从测试脚本分配给x. 我有以下情况:def foo():x = io.StringIO()bar(x) # x is filled with some string by bar methodhere some operation on x为了为foo编写单元测试用例,我用MagicMock模拟了bar(返回值= None),但是如...

python-如何在Django中为文件上传类编写单元测试?【代码】

我正在尝试为具有POST方法的类编写单元测试,该方法用于将文档上传到基于Web的django应用程序.这是我要为其编写单元测试的视图类:class SOP(APIView): authentication_classes = (authentication.TokenAuthentication,) def post(self,request):returnDict={}returnDict['msg']='File not uploaded'#if form.is_valid(): newdoc = Document(sopFile = request.FILES['sopFile'])newdoc.save()returnDict['msg']='File uploa...

python-在单元测试代码中调用Django命令【代码】

我正在尝试使用call_command从URL下载数据,并且想知道如何从代码中调用它. 我在代码中声明了以下选项列表:option_list = BaseCommand.option_list + (make_option('--url', default=None, dest='url', help=_(u'Specifies the full url of the json data to download.')),make_option('--username', default=None, dest='username', help=_(u'Login of the person doing the download.')),make_option('--password', default=None...

python中“ FileNotFoundError”的单元测试【代码】

我有以下代码,并希望在给定的函数引发“ FileNotFoundError”时放任自己def get_token(): try:auth = get_auth() # This function returns auth ,if file exists else throws "FileNotFoundError except FileNotFoundError: auth= create_auth() return auth我在弄清楚如何测试引发“ FileNotFoundError”并且不调用create_auth的条件时遇到了麻烦. 任何提示将不胜感激 谢谢解决方法:在单元测试中,您需要模拟get_auth函数,并使用.s...

Python单元测试:测试两个角度是否几乎相等【代码】

我想测试一个输出以度为单位的航向的函数,该航向是区间[0,360)中的数字.由于结果是浮点数,因此无法将实际结果与unittest.assertEqual()的预期结果进行比较. unittest.assertAlmostEqual()更好,因为它提供了公差.此方法适用于不接近0度的航向. 问题:测试预期值为0度的航向的正确方法是什么? assertAlmostEquals()仅包含略大于0度的角度,但会丢失略小于0度的角度,即360度…解决方法:您可以使用单位圆上两个点之间的平方欧几里得距离...

单元测试 - 相关标签