assertRaises用于带有可选参数的方法

时间:2016-08-09 16:10:44

标签: python django unit-testing

我正在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, ???)

我的测试方法:

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

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

1 个答案:

答案 0 :(得分:4)

两种方法:

  1. 就像问题中的那样,但是把args

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

    unit test in Django中所述:

    DECLARE @TABLE AS TABLE (DESCRIPTION VARCHAR(101))
    
    INSERT INTO @table VALUES ('07-16 ACADIA/07-10 OUTLOOK/08-16 ENCLAVE/09-16 TRAVERSE FLOORLINER')
    
    select LEFT(Item, 5) as YourResult
        , *
    from @TABLE t 
    cross apply dbo.SplitStrings_XML(t.Description, '/')