问题标签 [assertraises]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1435 浏览

python - assertRaises 只是捕获基本异常

我在使用时遇到了一个奇怪的问题unittest.assertRaises。执行下面的代码时,我得到以下输出:

引发了正确的异常,但测试失败了!如果我赶上BaseError测试成功。

不知何故,这似乎是 unittest 无法看到MyError异常类的范围问题。有人可以解释一下吗?有一些解决方法吗?

我正在测试以下 Python 代码,它是通过类名动态构造对象的实现。

这是基本模块“bases.py”:

这是要测试的模块,“derived.py”:

0 投票
1 回答
1168 浏览

python - Python 中的 assertRaises 函数存在问题

我正在尝试运行以下测试

在哪里

其中素数是一个函数,并且

但在

lambda 函数在测试后不会抛出异常

失败 有人可以提供解决问题的方法吗?


我将再次尝试解释我的问题,因为在我的第一篇文章中我没有很好地解释它所以这里是源 is_prime(x) 只是一个检查素数的函数

def is_prime(number): PRIME, NOT_PRIME = not is_prime.broken, is_prime.broken if number == 2: 返回 PRIME

is_prime.broken = False

类 IsPrimeTest(unittest.TestCase):

这里是测试,我们可以说测试测试程序是一个测试 - 一个测试超过测试

类 MetaProgrammingTest(unittest.TestCase): def test_decorator(self): from p10 import unit_converter

我,不能改变第二个测试 - 测试超过测试所以表达式 self.assertRaises(Exception,lambda: unit_test.testBasic()) 必须保持不变我的问题是当 testBasic() 函数失败时,例如,如果我们有self.assertFailIf(is_prime(2)) ,self.assertfailIf 抛出异常,unit_test.testBasic() 抛出同样的异常到上层作用域,但是 lambda:unit_test.testBasic() 不抛出异常并且检查 self.assertRaises(异常,lambda: unit_test.testBasic()) 失败我的问题是如何制作 testBasic() 函数,以便 lambda: unit_test.testBasic() 将跳过 exceotion 并且 selfassertRaises 不会失败,有什么想法吗?

0 投票
2 回答
13637 浏览

ruby - 正确的 Assert_Raise 单元测试和异常类的使用

我正在练习 Learn Ruby the Hard Way 的练习 49

该练习要求为提供的每个功能编写一个单元测试。我正在测试的项目之一是是否引发了适当的异常。建议我们assert_raise用于此目的。

这是我正在测试的代码:

这是函数 parse_verb 的测试:

当我运行测试时,它失败了,这是我得到的消息:

根据我对assert_raise功能的理解,这个测试应该可以通过,是我使用的方式有问题吗?

如果有人想要我正在使用的所有文件的完整源代码,请点击此处

0 投票
1 回答
768 浏览

python - Cant understand results while using assertRaises in unit testing on a sqlalchemy code

I am trying to unit test my sqlalchemy code.

Now in my unit test:

This test should succeed if add_user function call raises an Integrity error and fail if there is no exception. But the problem is test succeeds in both cases.

Why is this happening? Is there something wrong in my code? or assertRaises works differently than what I am expecting out from it?

Atfirst I thought this is happening because I have put except in my try clause and exception is dealt there only and assertRaises does not get exception. But if this would have been the case then assertRaises should have failed on not receiving the exception.

If there is something wrong in way of writing my unit test then do tell me because I am still learning to incorporate unit testing in my coding habits.

0 投票
1 回答
1356 浏览

python - 使用 assertRaises - 处理传播的异常

我有一些代码在测试包装的异常,当它失败并且异常传播时,我认为错误消息和回溯不够详细,主要是因为它没有告诉我预期与测试相比,我想了解异常和期望的详细信息。

我调整了我的测试(参见下面的示例代码)。我想知道这种方法是否有效,是否有任何 Python 测试或模拟框架允许直接实现它?(目前我正在使用 unittest 和 mox)

这个问题的答案之一简要涉及在这种情况下使用 self.fail 的适当性,但并没有真正详细说明。我的假设是,如果我试图将测试限制在一个区域,我可以通过测试。

注意:如果您运行代码示例,它应该会失败,以演示我希望看到的行为。我正在使用 Python 2.7、Mox 0.5.3

0 投票
2 回答
2150 浏览

python - 使用 unittest 测试作业失败

我的属性之一是设置器调用验证函数的属性,如果新值无效,该函数会引发异常:

我正在尝试添加测试以确保失败。但是,我不知道如何让 assertRaises 处理作业。

assertRaises 的正常语法需要一个方法,而不是属性/属性:

我尝试过的其他形式是无效的 Python:

如何测试分配给属性的失败?

注意:Python 2.6,我知道 unittest 在 2.7 中有一些新特性

0 投票
2 回答
1471 浏览

python - python单元测试用例中self.assertRaises未涵盖的异常语句

这是我的功能:

测试功能:

get_value不打印:未找到匹配

0 投票
3 回答
2329 浏览

python - 如何使用 assertRaises 在 Python 中测试实例方法?

我了解如何assertRaises在函数或 lambda 上使用,但我想在实例方法上使用它。

因此,例如,如果我有一个calculator执行无限精度算术的类,我可能会编写测试:

因为self.calculator.add是可调用的并且['hello', 4]是我想传递的参数,但是,当我运行测试时,我收到以下致命错误:

我相信它会抛出这个错误,因为当self.assertRaises调用时self.calculator.addself并没有像调用实例方法时那样作为第一个参数传递。我该如何解决?

0 投票
1 回答
252 浏览

python - 如何在 python 中创建/实现/测试一个新的异常?

我显然对如何在 python 中引发异常有一些基本的误解。我正在包括我正在尝试(和失败)做的最简单的例子。我正在尝试创建一个新异常,并正确测试它是否有效。

失败并显示以下消息:

这不会发生(即,示例代码正确地测试了前面的异常。我需要更改什么才能使这种事情发生?

0 投票
2 回答
5122 浏览

python - Python self.assertRaises

我有一个如下的小代码,请帮助我如何以正确的方式编写它。我想检查 ID 中是否存在,value如果不存在则引发异常。