草庐IT

ALLOW_MOCK_LOCATION

全部标签

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 - 如何在没有 Mock 的情况下 stub Python 方法

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

python - alembic - 使用包资源作为 script_location 的示例

我正在尝试将Alembic迁移作为python包分发的一部分。由于将安装此发行版,Alembic脚本目录(包含迁移)最终将被复制到python包文件夹。在这种情况下,我如何告诉Alembic在哪里可以找到这个目录?在Alembic文档中,它说migration目录可以在config.ini文件中指定为包引用:script_location-thisisthelocationoftheAlembicenvironment.Itisnormallyspecifiedasafilesystemlocation,eitherrelativeorabsolute.Ifthelocationisa

python - NumPy:使用 'np.save()' 和 'allow_pickle=False' 的后果

根据NumPy文档here,默认情况下,矩阵使用allow_pickle=True保存,此外,它们还指出了此默认行为可能存在的问题:allow_pickle:bool,optionalAllowsavingobjectarraysusingPythonpickles.Reasonsfordisallowingpicklesincludesecurity(loadingpickleddatacanexecutearbitrarycode)andportability(pickledobjectsmaynotbeloadableondifferentPythoninstallations,

python - pip:有什么解决方法可以避免 --allow-external?

pip安装程序的最新版本没有安装不会将其包文件上传到PyPI的包,除非用户明确提供--allow-external选项(relatedanswer)。我想分发依赖于此类库的包,如dirspec.目前我必须告诉我的包的用户通过以下命令安装我的包:$pipinstall--allow-externaldirspecMyPackage当涉及到库打包时,问题就更多了。如果我的包是一个库,我还必须告诉依赖我的包的包的作者告诉他们的用户通过以下命令安装他们的包:$pipinstall--allow-externaldirspecTheirPackage是否有任何解决方法可以避免这种情况?

python - 用户警告 : Pandas doesn't allow columns to be created via a new attribute name

我受困于我的pandas脚本。实际上,我正在处理两个csv文件(一个输入文件和另一个输出文件)。我想复制两列的所有行并进行计算,然后将其复制到另一个数据框(输出文件)。列如下:'lat','long','PHCount','latOffset_1','longOffset_1','PH_Lat_1','PH_Long_1','latOffset_2','longOffset_2','PH_Lat_2','PH_Long_2','latOffset_3','longOffset_3','PH_Lat_3','PH_Long_3','latOffset_4','longOffset_4',

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,

python - Google App Engine 上的 Access-Control-Allow-Origin header

我在AppEngine(python2.7)上托管了一个网站,并在子域上链接了一个博主。我使用博客帐户上的共享资源。具体来说,我分享了我在CSS中导入的图标字体(下面的示例)。@font-face{font-family:"FontAwesome";src:url('fonts/fonts/fontawesome/fontawesome-webfont.eot');src:url('fonts/fonts/fontawesome/fontawesome-webfont.eot?#iefix')format('eot'),url('fonts/fonts/fontawesome/font