我有以下mixin:

class MixinToAddOnMyClass:
    def get_data(self, request):
        try:
            data = super().get_processed_data(request)
        except Exception:
            data = {'error': 'Invalid data request'}

我想测试这个mixin类-但是当我必须创建一个要从其继承的模拟类以使我可以测试super()调用时,我发现它不是很干净。

进行单元测试的最佳方法是什么?

#1楼 票数:1

最终找到了一种方法。 似乎可以模拟内置方法:

    @patch('<path_to_mixin_file>.super')
    def test_get_data_when_no_exception(self, super):
        super.get_processed_data.return_value = True
        self.assertTrue(MixinToAddOnMyClass.run_validation())

  ask by Marcelo Duarte Fernandes translate from so

未解决问题?本站智能推荐:

1回复

如何进行Python单元测试

我想进入python的单元测试,但在寻找解决以下问题的方法时遇到了麻烦( 源 )。 我们有两个函数,is_prime和print_next_prime。 如果我们想测试print_next_prime,则需要确保is_prime是正确的,asprint_next_prime会使用它。
1回复

如何对 subprocess.call() 进行单元测试以检查它是否在 python 中调用

嘿,我正在尝试编写 unittest 来检查 subprocess.call subprocess.call()是否在不返回任何内容的函数 flash_it 中调用。 def flash_it('flash.bat'): file = open('file.txt', 'w') su
1回复

Python-mock:如何测试是否调用了super()

我有以下结构: 我想要做的是编写一个测试用例,测试如果self.test为true则调用super函数并调用类A的方法函数。 我怎么能做到这一点? 我该怎么做? 高级问:当A类和B类在一个单独的模块中时,它们具有相同的名称。 因此,不是类BI而是写:类A(module1.
2回复

如何在python单元测试中测试python二进制文件?

我想在单元测试中使用命令行参数测试python二进制“ main.py”。 该二进制文件的用法如下。 设计单元测试时,我认为最好像类或方法一样测试每个组件。 但是,在某些情况下,例如上述情况,我想对整个python二进制文件进行端到端测试,尤其是当它已经由其他人创建时。 在上述
1回复

如何在Python中模拟此单元测试?

这是我要测试的方法。 在此测试方法(test_get_all_products)中,我希望传递产品列表和针对dal标识的DB调用的模拟响应。 这是我的考验 但是,当我断言来自模拟对象的product [0] ['termMonths'] == 1时,它会失败,因为termMon
1回复

如何对该Python类进行单元测试?

我的代码的可测试性有问题。 这与我的类布局和python包布局有关。 我希望此问题的下列结果之一: 改变班级布局的建议,或 更改包装布局的建议,或 提示如何在不更改布局的情况下测试这些东西 类层次结构 基类是AuthenticationToken
1回复

如何在python中测试工厂?

单元测试第一类应仅针对其协作者的公共接口进行测试。 在大多数情况下,这很容易实现用假物体替换协作者- 模拟器 。 正确使用依赖注入时,这应该很容易。 但是,在尝试测试工厂类时,事情会变得复杂。 让我们看看例子 模块wheel 模块engine 模块car
1回复

如何在Python中使用Mockito编写单元测试

我是Python的新手,因此在Python中使用模仿还是有问题。 我的生产代码如下所示: 如您所见,我想使用Stomp协议发送消息。 我的测试我想测试w,当我从Connector类调用send方法时,从Stompest库调用send方法将仅被调用一次。 我的单元测试如下: