草庐IT

mock_class

全部标签

python - 创建对象时 Class() vs self.__class__()?

使用Class()或self.__class__()在类中创建新对象的优点/缺点是什么?一种方式通常优于另一种方式吗?这是我正在谈论的一个人为的例子。classFoo(object):def__init__(self,a):self.a=adef__add__(self,other):returnFoo(self.a+other.a)def__str__(self):returnstr(self.a)defadd1(self,b):returnself+Foo(b)defadd2(self,b):returnself+self.__class__(b) 最佳

python - 测试 : parametrize test cases from classes

我目前正在关注这个py.test示例,当我不使用类时它会成功,但是当我将测试用例引入类时我失败了。我设法编写的最小案例如下:importunittestimportpytestclassFixtureTestCase(unittest.TestCase):@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42),])deftest_1(self,a,b):self.assertEqual(a,b)不幸的是当我执行py.testtest_suite.py我收到错误信息:TypeError:

python - 测试 : parametrize test cases from classes

我目前正在关注这个py.test示例,当我不使用类时它会成功,但是当我将测试用例引入类时我失败了。我设法编写的最小案例如下:importunittestimportpytestclassFixtureTestCase(unittest.TestCase):@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42),])deftest_1(self,a,b):self.assertEqual(a,b)不幸的是当我执行py.testtest_suite.py我收到错误信息:TypeError:

python - 用于 Python 编程的 Emacs : module/class outline/browser

我目前正在使用https://github.com/fgallina/python.el+ropemacs,但我缺少模块浏览器:单独的缓冲区,概述了当前模块中定义的名称(类列表及其方法)。Google说有OO-browser和emacs-code-browser,但它们看起来已经过时了,而且我在任何流行的emacs+python教程中都找不到关于这个库的任何提及。我应该使用什么来实现跨模块的轻松导航? 最佳答案 我认为ECB(Emacs代码浏览器)值得一试。我不会一直使用它,但它非常方便。特别有用的是“ECB方法”窗口,它显示模块所

python - 用于 Python 编程的 Emacs : module/class outline/browser

我目前正在使用https://github.com/fgallina/python.el+ropemacs,但我缺少模块浏览器:单独的缓冲区,概述了当前模块中定义的名称(类列表及其方法)。Google说有OO-browser和emacs-code-browser,但它们看起来已经过时了,而且我在任何流行的emacs+python教程中都找不到关于这个库的任何提及。我应该使用什么来实现跨模块的轻松导航? 最佳答案 我认为ECB(Emacs代码浏览器)值得一试。我不会一直使用它,但它非常方便。特别有用的是“ECB方法”窗口,它显示模块所

python - 覆盖 Python mock 的补丁装饰器

我有一个PythonTestCase类,其中所有测试方法(一个除外)都需要以相同的方式修补对象。另一种方法需要来自同一对象的一些其他行为。我正在使用mock,所以我做了:@mock.patch('method_to_patch',mock.Mock(return_value=1))classTests(TestCase):@mock.patch('method_to_patch',mock.Mock(return_value=2))deftest_override(self):(....)但这行不通。当test_override运行时,它仍然会从类装饰器中调用修补后的行为。经过多次调试

python - 覆盖 Python mock 的补丁装饰器

我有一个PythonTestCase类,其中所有测试方法(一个除外)都需要以相同的方式修补对象。另一种方法需要来自同一对象的一些其他行为。我正在使用mock,所以我做了:@mock.patch('method_to_patch',mock.Mock(return_value=1))classTests(TestCase):@mock.patch('method_to_patch',mock.Mock(return_value=2))deftest_override(self):(....)但这行不通。当test_override运行时,它仍然会从类装饰器中调用修补后的行为。经过多次调试

python - 不可实例化的父类(super class)

因此,我正在编写一个用于连接到外部帐户提供商(Twitter、Facebook等)的模块,并且我有一个父类(superclass),它本身无用,但包含需要由子类调用以持久验证的通用方法token,获取身份验证token并取消对提供者的授权。我的问题是,有没有办法让它无法实例化,或者我应该遵循成年人同意的规则,让任何使用它的人按照他们认为合适的方式犯错误?除了文档字符串之外,还有什么好的方法可以表明某人不应该单独使用这个父类(superclass)吗? 最佳答案 我支持SvenMarnach'sedit:我认为您应该遵循“成人同意”规

python - 不可实例化的父类(super class)

因此,我正在编写一个用于连接到外部帐户提供商(Twitter、Facebook等)的模块,并且我有一个父类(superclass),它本身无用,但包含需要由子类调用以持久验证的通用方法token,获取身份验证token并取消对提供者的授权。我的问题是,有没有办法让它无法实例化,或者我应该遵循成年人同意的规则,让任何使用它的人按照他们认为合适的方式犯错误?除了文档字符串之外,还有什么好的方法可以表明某人不应该单独使用这个父类(superclass)吗? 最佳答案 我支持SvenMarnach'sedit:我认为您应该遵循“成人同意”规

python 3 : class "template" (function that returns a parameterized class)

我正在尝试创建一个传递参数x并返回新类C的函数。C应该是固定基类A的子类,只有一个添加:添加了某个类属性并设置为等于x.换句话说:classC(A):C.p=x#xistheparameterpassedtothefactoryfunction这很容易做到吗?有什么我应该注意的问题吗? 最佳答案 首先,请注意术语“类工厂”在Python中有些过时。它在C++等语言中用于返回类的动态类型实例的函数。它有一个名字,因为它在C++中脱颖而出;它并不罕见,但它非常罕见,因此为模式命名很有用。然而,在Python中,这是不断进行的——这是一个