Skip to main content
 首页 » 编程设计

python之带有可选参数的方法的 assertRaises

2025年05月04日13wayfarer

我正在为 unit test in Django 使用 assertRaises .

我要测试的示例方法:

def example_method(var, optional_var=None): 
    if optional_var is not None: 
        raise ExampleException() 

我的测试方法:

def test_method(self): 
    self.assertRaises(ExampleException, example_method, ???) 

我应该如何传递参数以引发异常?

请您参考如下方法:

两种方式:

  1. 就像在问题中一样,但放置了 args:

    def test_method(self):         
        self.assertRaises(ExampleException, example_method, "some_var",  
                          optional_var="not_none") 
    
  2. 与与:

    如 Python Docs 中所述:

    def test_method(self): 
        with self.assertRaises(ExampleException): 
            example_method("some_var", "not_none")