草庐IT

mock_increment

全部标签

python - 类型错误 : unbound method when trying to mock a classmethod

此脚本失败:importmockclassMyClass(object):@classmethoddefmy_method(cls):print('my_method')defmocked_method(cls):print('Iwantthismethodtogetcalled')withmock.patch.object(MyClass,'my_method',mocked_method):MyClass.my_method()异常(exception):Traceback(mostrecentcalllast):File"/home/foo/tmp/test_mocking_cl

python - Mock_open CSV 文件未获取任何数据

我正在尝试对一段代码进行单元测试:def_parse_results(self,file_name):results_file=open(file_name)results_data=list(csv.reader(results_file))index=len(results_data[1])-1results_file.close()returnfloat(results_data[1][index])像这样使用mock_open:@mock.patch('path.open',mock.mock_open(read_data='test,test2,test3,test4'))d

python - 如何在测试注释中使用带有 patch.object() 的 mock_open()

我正在尝试模拟从文件中读取。使用示例,可​​以使用如下构造来完成:withpatch('__builtin__.open',mock_open(read_data='1'),create=True)asm:withopen('foo')ash:result=h.read()我想知道,有没有一种方法可以使用我的测试用例注释来模拟打开函数。喜欢:@patch.object(__builtin__,'open')deftest_check_status_running(self,m_open):我没有找到正确的方法,因为对我来说它适用于int而不适用于字符串:@patch.object(__

python - 如何使用 mock.patch 模拟生成器

我已经浏览了页面https://docs.python.org/3/library/unittest.mock-examples.html我看到他们列出了一个关于如何模拟生成器的例子我有一个代码,我调用生成器给我一组值,我将这些值保存为字典。我想在我的单元测试中模拟对该生成器的调用。我已经写了下面的代码,但它不起作用。我哪里错了?In[7]:items=[(1,'a'),(2,'a'),(3,'a')]In[18]:deff():print"here"foriin[1,2,3]:yieldi,'a'In[8]:defcall_f():...:my_dict=dict(f())...:p

python - 使 Mock.assert_called_with() 与 args vs kwargs 不可知

单元测试应该测试功能并尽量不了解实现细节。Mock.assert_called_with()是一个方便的函数,但据我所知它将*args与*args和**kwargs到**kwargs。因此:#classtobemockedduringtestclassSomeClass():deffunc(self,a,b,c=5):#...#codeundertestsomaclass_instance.func(1,b=2,c=3)#testcodethatworkssomeclass_mock.func.assert_called_with(1,b=2,c=3)#testcodethatwon'

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 模拟 : mocking base class for inheritance

我正在测试一个继承自另一个非常复杂的类的类,其中包含数据库连接方法和一堆依赖项。我想模拟它的基类,以便我可以很好地使用子类中定义的方法,但是在我从模拟类继承的那一刻,对象本身变成了模拟并失去了它的所有方法。如何模拟父类(superclass)?大致情况可以概括为:importmockClassMock=mock.MagicMock()classRealClass(ClassMock):deflol(self):print'lol'real=RealClass()real.lol()#Doesnotprintlol,butreturnsanothermockprintreal#print

python - 如何在没有 Mock 的情况下 stub Python 方法

我是一名C#开发人员,正在研究一些Python内容,所以我还不知道自己在做什么。我读过你并不真的需要用Python进行依赖注入(inject)。有人告诉我,您可以在代码中实例化对象并让它们以您想要的方式运行,但是,您可以将这些对象上的方法指向我在测试中定义的自己的stub——据说没有模拟。这是真的吗?我试过这样做但无法完全正常工作。这实际上是如何完成的?如何在没有模拟库的情况下在Python中stub方法? 最佳答案 这是一个基本示例。请注意,永远不会调用生产getData()方法。它已用stub模拟出来。importunittes

python - 使用 python mock 来计算方法调用的次数

我刚刚开始使用python模拟框架。我只想计算一个方法被调用的次数,而不删除实际调用该方法的影响。例如,在这个简单的计数器示例中,我想同时递增计数器并跟踪它被调用的情况:importunittestimportmockclassCounter(object):def__init__(self):self.count=0defincrement(self):self.count+=1classCounterTest(unittest.TestCase):deftest_increment(self):c=Counter()c.increment()self.assertEquals(1,

Mock 接口测试的常见几种实现方式

什么是接口Mock测试Mock测试定义Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的比较复杂的对象,用一个模拟的对象来创建以便测试的测试方法Mock测试应用场景测试接口中需要依赖第三方接口返回值进行逻辑处理,例如银行的支付接口模拟异常数据返回,例如需要返回特殊字符、不同长度、类型格式内容前后端开发并行工作调式,后端接口未完成时,前端调用Mock数据进行调式隔离环境,保证数据安全和正确性,对于POST、PUT、DELETE等请求进行隔离,防止修改数据出现其他未知错误Mock常见实现的几种方式fiddler/Charles工具MockServer-Moco自己开发Mock平台通过