我想编写一个测试,以确定在给定的情况下不会引发异常。
测试是否引发异常是很简单的…
sInvalidPath=AlwaysSuppliesAnInvalidPath()
self.assertRaises(PathIsNotAValidOne, MyObject, sInvalidPath)
... 但你怎么能反其道而行之呢。
像这样的东西是我所追求的…
sValidPath=AlwaysSuppliesAValidPath()
self.assertNotRaises(PathIsNotAValidOne, MyObject, sValidPath)
我是最初的海报,我接受了DGH的上述答案,而没有首先在代码中使用它。
一旦我使用了它,我意识到它需要做一些调整才能真正做到我需要它做的事情(公平地说,他/她确实说了“或类似的东西!”)。
为了其他人的利益,我认为有必要在这里发布这个调整:
try:
a = Application("abcdef", "")
except pySourceAidExceptions.PathIsNotAValidOne:
pass
except:
self.assertTrue(False)
我在这里试图做的是确保如果尝试实例化一个应用程序对象,使用第二个空间参数pySourceAidExceptions。PathIsNotAValidOne将被引发。
我相信使用上面的代码(主要基于DGH的回答)可以做到这一点。