Expects Raise Error 不处理负面单元测试

Expects Raise Error does not handle negative unit test

我 运行 遇到了基本否定单元测试的问题。尝试在最后一个函数中成功预期 NotFoundException 错误。 我 运行 遇到的问题是堆栈首先捕获错误并完全取消该 expect() 函数。请帮忙,TIA。

‘’’

def test_should_return_coffee_not_found(
    coffee_information_repository_mock, coffee_information, coffee_drink
):

    coffee_information_repository_mock.get_coffee_information.return_value = (
        coffee_information
    )

    coffee_information_service = CoffeeInformationService(
        coffee_information_repository_mock
    )

    result = coffee_information_service.get_drink_by_title("Gatorade")

    expect(result).to(raise_error(NotFoundException))
    

‘’’

expects 的 raise 错误匹配器要求您将无参数函数传递给 expect。您没有传递期望的回调,而是调用您要测试的函数。最简单的方法是使用 lambda

expect(lambda: coffee_information_service.get_drink_by_title("Gatorade")).to(raise_error(NotFoundException))