Python unittest-与assertRaises相反?

2024-05-28 20:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编写一个测试来确定在给定的情况下不会引发异常。

很容易测试是否引发异常。。。

sInvalidPath=AlwaysSuppliesAnInvalidPath()
self.assertRaises(PathIsNotAValidOne, MyObject, sInvalidPath) 

。。。但是你怎么能做相反的事。

像这样的事我在追求。。。

sValidPath=AlwaysSuppliesAValidPath()
self.assertNotRaises(PathIsNotAValidOne, MyObject, sValidPath) 

Tags: self情况myobjectassertraisesalwayssuppliesavalidpathsinvalidpathsvalidpathassertnotraises
3条回答

Hi - I want to write a test to establish that an Exception is not raised in a given circumstance.

这是默认的假设——不会引发异常。

如果你什么都不说,那在每一个测试中都是假设的。

你不必为此写任何断言。

def run_test(self):
    try:
        myFunc()
    except ExceptionType:
        self.fail("myFunc() raised ExceptionType unexpectedly!")

只要调用函数。如果它引发异常,单元测试框架会将其标记为错误。您可能需要添加注释,例如:

sValidPath=AlwaysSuppliesAValidPath()
# Check PathIsNotAValidOne not thrown
MyObject(sValidPath)

相关问题 更多 >

    热门问题