- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为 python 项目创建测试。正常测试工作得很好,但是我想测试在某种情况下我的函数是否引发了自定义异常。因此我想使用 assertRaises(Exception, Function)。有什么想法吗?
引发异常的函数是:
def connect(comp1, comp2):
if comp1 == comp2:
raise e.InvalidConnectionError(comp1, comp2)
...
异常(exception)情况是:
class InvalidConnectionError(Exception):
def __init__(self, connection1, connection2):
self._connection1 = connection1
self._connection2 = connection2
def __str__(self):
string = '...'
return string
测试方法如下:
class TestConnections(u.TestCase):
def test_connect_error(self):
comp = c.PowerConsumer('Bus', True, 1000)
self.assertRaises(e.InvalidConnectionError, c.connect(comp, comp))
但是我得到以下错误:
Error
Traceback (most recent call last):
File "C:\Users\t5ycxK\PycharmProjects\ElectricPowerDesign\test_component.py", line 190, in test_connect_error
self.assertRaises(e.InvalidConnectionError, c.connect(comp, comp))
File "C:\Users\t5ycxK\PycharmProjects\ElectricPowerDesign\component.py", line 428, in connect
raise e.InvalidConnectionError(comp1, comp2)
InvalidConnectionError: <unprintable InvalidConnectionError object>
最佳答案
assertRaises
实际期望 perform the call .然而,您已经自己执行了它,因此在 assertRaises
实际执行之前抛出错误。
self.assertRaises(e.InvalidConnectionError, c.connect(comp, comp))
# run this ^ with first static argument ^ and second argument ^ from `c.connect(comp, comp)`
改用其中之一:
self.assertRaises(e.InvalidConnectionError, c.connect, comp, comp)
with self.assertRaises(e.InvalidConnectionError):
c.connect(comp, comp)
关于python - 测试自定义异常的引发时出错(使用 assertRaises()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633263/
是否可以将 assertRaises 用于多种类型的异常。就像是 assertRaises(RuntimeError, "error message") assertRaises(Exception,
我有一个小代码如下,请帮助我如何以正确的方式编写它。我想检查 ID 是否存在于 value 中,如果不存在则引发异常。 value = ({'av' : '123', 'user' : 'abc',
我正在为 unit test in Django 使用 assertRaises . 我要测试的示例方法: def example_method(var, optional_var=None):
以下问题是由this post中的讨论引发的. 假设有两个文件(foobar.py 和 foobar_unittest.py)。文件 foobar.py 包含一个具有两个函数(foo 和 bar)的类
我有这个脚本 import unittest,itertools,random ##testclass class Testcomb(unittest.TestCase): def test
assertRaises 使用以下代码给出断言错误。我做错了什么吗? class File_too_small(Exception): "Check file size" def foo(a,
说我有课 class myClass(object): pname = "" def __getName(self): return pname def __setNam
我从 python.org unittest 文档中逐字复制了这个: import random import unittest class TestSequenceFunctions(unittes
我正在尝试测试异常。 我有: def test_set_catch_status_exception(self): mro = self.mro NEW_STATUS = 'No su
当测试传递给它的无效文件的 ImageField 时,Django 断言不会引发ValidationError。这是在 with self.assertRaises 上下文中完成的。但是,当我访问 f
感谢您提前提供的帮助。 我正在尝试测试以下类方法: def _get_ldap_connection(self): """ Instantiate and return simplel
def test_invalid_host(self): controller = SSHController("host name") self.assertRaises(SSHEx
我正在为 python 项目创建测试。正常测试工作得很好,但是我想测试在某种情况下我的函数是否引发了自定义异常。因此我想使用 assertRaises(Exception, Function)。有什么
我想知道是否有办法做到以下几点: class Test_Vector_test(unittest.TestCase): def test_add(self): vector1
我有一些代码,我正在测试一个包装异常,当它失败并且异常传播时,我认为错误消息和回溯不够详细,主要是因为它没有告诉我预期与. 测试,我想要异常和期望的详细信息。 我调整了我的测试(参见下面的示例代码)。
我正在尝试在条件引发自定义异常消息的函数内 assertRaise 异常。 功能: if not Cart.objects.filter(member=member).count(): rai
我遇到了以下相当奇怪的问题: 我正在开发一个 Django 应用程序,在我的模型类中,我定义了一个在验证失败时应该引发的异常: class MissingValueException(Exceptio
我的模型中有以下验证功能: @classmethod def validate_kind(cls, kind): if kind == 'test': raise Valida
我正在尝试在 Python 中对我的“添加”函数运行测试,但出现错误: 7 E ============================================================
我想捕获代码产生的 TypeError,但不幸的是,unittest 失败了: 代码如下: import unittest
我是一名优秀的程序员,十分优秀!