草庐IT

msi-patch

全部标签

python - @Patch 装饰器与 pytest fixture 不兼容

我在使用与pytestfixture集成的模拟包中的补丁装饰器时遇到了一些神秘的事情。我有两个模块:-----testfolder-------func.py-------test_test.py在func.py中:defa():return1defb():returna()在test_test.py中:importpytestfromfuncimporta,bfrommockimportpatch,Mock@pytest.fixture(scope="module")defbrands():return1mock_b=Mock()@patch('test_test.b',mock_b

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 - @patch 装饰器无法设置 Provider

我尝试通过使用@patch装饰测试方法来修补提供程序类:classTestMyUnit(unittest.TestCase):...@patch(provider.Provider,autospec=True)deftest_init(self,mock_provider):pass但是,当我运行测试时,我得到了错误:*@patch(provider.Provider)**File"build\bdist.win32\egg\mock.py",line1518,inpatch**getter,attribute=\_get\_target(target)**File"build\bdi

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 - 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 - 使用 python 的模拟 patch.object 更改在另一个方法中调用的方法的返回值

是否可以模拟在我尝试测试的另一个函数中调用的函数的返回值?我希望模拟方法(将在我正在测试的许多方法中调用)在每次调用时返回我指定的变量。例如:classFoo:defmethod_1():results=uses_some_other_method()defmethod_n():results=uses_some_other_method()在单元测试中,我想用mock来改变uses_some_other_method()的返回值,这样在Foo中任何时候调用它都会返回我在@patch.object(...)中定义的内容 最佳答案 有

python - 使用 mock patch 模拟实例方法

我在测试一个Django应用程序时尝试使用富有想象力的Mocktestinglibrary来模拟一些东西。.我似乎无法让它工作,我正在尝试这样做:models.pyfromsomelibimportFooClassclassPromotion(models.Model):foo=models.ForeignKey(FooClass)defbar(self):print"DosomethingIdon'twant!"test.pyclassViewsDoSomething(TestCase):view='my_app.views.do_something'deftest_enter_pr

python - 模拟一个类 : Mock() or patch()?

我正在使用mock使用Python并想知道这两种方法中哪一种更好(阅读:更多Pythonic)。方法一:只需创建一个模拟对象并使用它。代码如下:deftest_one(self):mock=Mock()mock.method.return_value=Trueself.sut.something(mock)#Thisshouldcalledmock.methodandcheckstheresult.self.assertTrue(mock.method.called)方法二:使用patch创建mock。代码如下:@patch("MyClass")deftest_two(self,moc

java - 无法在 IntelliJ IDEA 2017.2.1 中使用 --patch-module 编译 Java 9 模块

我正在尝试熟悉Java9模块以及如何在IntelliJ中定义它们。除其他外,我想使用--patch-module编译器/JVM标志解决拆分包问题,但我不知道如何使其在IntelliJ中工作。我正在使用IntelliJIDEA2017.2.1Build#IC172.3544.35和JavaHotSpot(TM)64位服务器VM(构建9+180,混合模式)。这是我的源文件MyImmutableList.java:packagecom.google.common.collect;publicclassMyImmutableListextendsRegularImmutableList{pub

java - HttpURLConnection 无效的 HTTP 方法 : PATCH

当我尝试使用带有URLConnection的PATCH等非标准HTTP方法时:HttpURLConnectionconn=(HttpURLConnection)newURL("http://example.com").openConnection();conn.setRequestMethod("PATCH");我得到一个异常(exception):java.net.ProtocolException:InvalidHTTPmethod:PATCHatjava.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:4