- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我安装了 pytest-mock并使用模拟程序我试图像补丁一样运行,但我得到“类型错误:需要一个有效的目标来打补丁。你提供了'return a + b'”
# test_capitalize.py
import time
def sum(a, b):
time.sleep(10)
return a + b
def test_sum(mocker):
mocker.patch('return a + b');
assertEqual(sum(2, 3), 9)
最佳答案
patch
需要被修补函数的路径。你可以这样做:
import pytest
def sum(a, b):
return a + b
def test_sum1(mocker):
mocker.patch(__name__ + ".sum", return_value=9)
assert sum(2, 3) == 9
def test_sum2(mocker):
def crazy_sum(a, b):
return b + b
mocker.patch(__name__ + ".sum", side_effect=crazy_sum)
assert sum(2, 3) == 6
结果:
$ pytest -v patch_test.py
============= test session starts ==============
platform cygwin -- Python 3.6.4, pytest-3.10.1, py-1.7.0, pluggy-0.8.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/xyz/temp, inifile:
plugins: mock-1.10.0, cov-2.6.0
collected 2 items
patch_test.py::test_sum1 PASSED [ 50%]
patch_test.py::test_sum2 PASSED [100%]
=========== 2 passed in 0.02 seconds ===========
关于python - 使用 mocker 与 pytest 打补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53434986/
我一直在做一个用 git 维护的项目。我从以前处理过它的人那里得到了一堆补丁。但他不记得他使用的是哪个版本的源代码。 (或者如果他在开始工作之前已经对 repo 进行了分支)。当我尝试应用补丁时,其中
我知道有一种方法可以使用 git am 将补丁应用到我的提交中。我一直在使用命令 patch -pnum Date: Sun, 1 Feb 2015 02:33:35 +0100 Subject:
DCEVM 如何给 JVM 打补丁,使其既可以在正常模式下启动,也可以在 XXaltjvm 模式下启动?它对常规 libjvm.so/jvm.dll/libjvm.dylib 有什么作用? From
DCEVM 如何给 JVM 打补丁,使其既可以在正常模式下启动,也可以在 XXaltjvm 模式下启动?它对常规 libjvm.so/jvm.dll/libjvm.dylib 有什么作用? From
我有一个这样的程序 #include int somma(x,y){ return x+y; } int diff(x,y){ return x-y; } int main(){ int
当向应用商店提交应用更新(通过 iTunes Connect?)时,更新是否一定是整个二进制文件?更新可以补丁的形式出现吗?如果应用的第二个版本与前一个版本共享大量 Assets 和逻辑,那么所有这些
我安装了 pytest-mock并使用模拟程序我试图像补丁一样运行,但我得到“类型错误:需要一个有效的目标来打补丁。你提供了'return a + b'” # test_capitalize.py i
我正在尝试使用 Mock 模块和 pytest 进行单元测试。 我希望 os.path.isdir() 返回 False,并且 os.mkdir() 不运行;我只想验证传递给它的参数是否正确。 我觉得
在 Jigsaw 之前,替换 OpenJDK 中的一个或多个类非常容易(执行一些测试或做出贡献)。我可以从 OpenJDK 源复制一个原始文件,例如 java/util/ArrayList.java
我的应用程序是一个纯 Java 包,它集成了一个嵌入式 Web 容器并处理 Oauth 2.0 身份验证流程。 运行跟踪 我已经通过使用 JAVA_OPTS="-Djavax.net.debug=ss
大约 1 个月前,我看到我的应用程序(xap 文件)被黑客攻击并发布在太多分发 Windows Phone 8 XAP 的网站上,如果您从 Windows 商店下载 XAP,则无法解压缩它的内容,但是
我是一名优秀的程序员,十分优秀!