草庐IT

Mock_Game

全部标签

python - 如何mock.patch在另一个模块中导入的类

我有一个带有这样一个模块的python类:xy.pyfroma.bimportClassAclassClassB:defmethod_1():a=ClassA()a.method2()然后我将ClassA定义为:b.pyfromcimportClassCclassClassA:defmethod2():c=ClassC()c.method3()现在在这段代码中,当为xy.py编写测试时,我想mock.patchClassC,有没有办法在python中实现?显然我试过了:mock.patch('a.b.ClassA.ClassC')和mock.patch('a.b.c.ClassC')这

python - 如何用 mock 修补模块的内部功能?

“内部函数”是指从定义它的同一模块中调用的函数。我正在使用mock库,特别是patch装饰器,在我的单元测试中。它们是Django单元测试,但这应该适用于任何python测试。我有一个具有多个功能的模块,其中许多功能相互调用。例如(虚构代码,忽略缺少的decimal.Decimal):TAX_LOCATION='StateName,UnitedStates'defadd_tax(price,user):tax=0ifTAX_LOCATION=='StateName,UnitedStates':tax=price*.75return(tax,price+tax)defbuild_cart

python - 如何使用 Mock @patch 获取调用计数?

我正在为我们正在开发的某个库编写单元测试。该库利用requests.post()向外部服务器执行POSTHTTP请求。在我的UT中,我显然不想联系真正的服务器,而是要模拟响应。为此,我编写了一个函数,如下所示:defmocked_post(url,headers,data,**kwargs):response=Mock()#Somelogic,irrelevanthere.returnresponse我在我的单元测试类周围修补了这个函数:@patch('mylib.requests.post',mocked_post)classMyTest(TestCase):deftest_foo(

python - 你如何模拟一个 python 类并为每个实例化获取一个新的 Mock 对象?

好的,我知道manual中提到了这一点,并且可能与side_effect和/或return_value有关,但一个简单直接的示例将极大地帮助我。我有:classClassToPatch():def__init__(self,*args):_do_some_init_stuff()defsome_func():_do_stuff()classUUT():def__init__(self,*args)resource_1=ClassToPatch()resource_2=ClassToPatch()现在,我想对UUT类进行单元测试,并模拟ClassToPatch。知道UUT类将恰好实例化两

Python mock Patch os.environ 和返回值

使用模拟单元测试conn():app.pyimportmysql.connectorimportos,urlparsedefconn():if"DATABASE_URL"inos.environ:url=urlparse(os.environ["DATABASE_URL"])g.db=mysql.connector.connect(user=url.username,password=url.password,host=url.hostname,database=url.path[1:],)else:return"Error"test.pydeftest_conn(self):with

python - unittest.mock : asserting partial match for method argument

Rubyist在这里编写Python。我有一些看起来像这样的代码:result=database.Query('complicatedsqlwithanid:%s'%id)database.Query被模拟出来,我想测试ID是否正确注入(inject),而不会将整个SQL语句硬编码到我的测试中。在Ruby/RR中,我会这样做:mock(database).query(/#{id}/)但我看不到像在unittest.mock中那样设置“选择性模拟”的方法,至少没有一些毛茸茸的side_effect逻辑。所以我尝试在断言中使用正则表达式:withpatch(database)asMockD

博弈论 | 演化博弈理论(Evolutionary Game Theory)的理解

目录一、演化博弈理论的概述二、演化博弈模型的特征三、演化博弈理论的两大要素3.1复制动态方程3.2稳定策略均衡解四、参考文献研究论文出现的名词,飞速Google、Baidu、Bing等齐上阵。一、演化博弈理论的概述演化博弈理论的英文名是EvolutionaryGameTheory。演化博弈理论一般会探讨博弈论在生物学中的应用,尤其是纳什均衡的一种很重要的生物学角度的解释:纳什均衡是无数次动态博弈的稳定状态,也可以说成:物竞天择,适者生存。虽然演化思想最初来自于生物学领域,但演化博弈论和演化经济学都把“创新,选择和扩散”视为演化的主要机制,演化博弈论也为演化经济学提供了微观基础,演化博弈的基本形

python - mock.patch.object(... 和 mock.patch(

我试图了解这两种模拟方法之间的区别。有人可以帮助区分它们吗?对于这个例子,我使用passlib库。frompasslib.contextimportCryptContextfromunittestimportmockwithmock.patch.object(CryptContext,'verify',return_value=True)asfoo1:mycc=CryptContext(schemes='bcrypt_sha256')mypass=mycc.encrypt('test')assertmycc.verify('tesssst',mypass)withmock.patch(

python - 如何通过 unittest setUp 在 python 中正确使用 mock

在我尝试学习TDD的过程中,尝试学习单元测试并在python中使用mock。慢慢掌握它,但不确定我是否正确执行此操作。预先警告:我坚持使用python2.4,因为供应商API是作为预编译的2.4pyc文件提供的,所以我使用的是mock0.8.0和unittest(不是unittest2)鉴于'mymodule.py'中的示例代码importldapclassMyCustomException(Exception):passclassMyClass:def__init__(self,server,user,passwd):self.ldap=ldap.initialize(server)

python - 使用 Python Mock 模拟函数

我正在尝试使用pythonmockmoduleMock一个函数(返回一些外部内容).我在模拟导入模块的函数时遇到了一些问题。例如,在util.py我有defget_content():return"stuff"我想模拟util.get_content以便它返回其他内容。我正在尝试这个:util.get_content=Mock(return_value="mockedstuff")如果get_content在另一个模块中被调用,它实际上似乎永远不会返回模拟对象。在如何使用Mock方面我是否遗漏了什么?请注意,如果我调用以下内容,则一切正常:>>>util.get_content=Moc