Python测试异常
示例
例如,如果输入错误,程序将抛出错误。因此,需要确保在给出实际错误输入时引发错误。因此,我们需要检查确切的异常,对于本示例,我们将使用以下异常:
class WrongInputException(Exception):
pass在以下情况下,当我们始终期望输入数字作为文本输入时,如果输入错误,则会引发此异常。
def convert2number(random_input):
try:
my_input = int(random_input)
except ValueError:
raise WrongInputException("预期为整数!")
return my_input为了检查是否引发了异常,我们使用assertRaises该异常进行检查。assertRaises可以以两种方式使用:
使用常规函数调用。第一个参数采用异常类型,第二个参数采用可调用(通常是函数),其余参数传递给该可调用。
使用with子句,仅将异常类型赋予函数。这样做的好处是可以执行更多代码,但应谨慎使用,因为多个功能可能会使用相同的异常(这可能会带来问题)。一个示例:with:convert2number(“notanumber”)self.assertRaises(WrongInputException)
首先在以下测试案例中实现了这一点:
import unittest
class ExceptionTestCase(unittest.TestCase):
def test_wrong_input_string(self):
self.assertRaises(WrongInputException, convert2number, "not a number")
def test_correct_input(self):
try:
result = convert2number("56")
self.assertIsInstance(result, int)
except WrongInputException:
self.fail()也可能需要检查不应抛出的异常。但是,抛出异常时,测试将自动失败,因此可能根本没有必要。仅显示选项,第二种测试方法显示了一种情况,即如何检查不抛出异常。基本上,这是捕获异常,然后使用该fail方法使测试失败。
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法