所以我尝试导入一个模块,并从该模块中的一个类测试方法。在
下面是一个方法的示例。在
def production_warning(self, targetenv):
if targetenv == 'prdv':
prodwarning1 = raw_input("WARNING: You are deploying to the production environment. Are you sure you want to do this? Y/N: ").upper()
if prodwarning1 == "N":
sys.exit()
prodwarning2 = raw_input("DEPLOYING TO PRDV, ARE YOU REALLY, REALLY SURE? Y/N: ").upper()
if prodwarning2 == "N":
sys.exit()
else:
return True
下面是我要写的一个测试的例子。在
^{pr2}$如何检查是否出现错误?最后,我将尝试运行所有这些测试,并且对于每个函数,如果没有引发异常,则打印“Success”。如果引发异常,请继续进行下一个测试。人们似乎一直在向我指出“如果有异常,调用函数将自动引发异常”,但这将停止我的测试,每当抛出异常时,我不想这样,我想继续下一个测试。在
我可以通过以下方式解决这个问题:
def validate_params():
try:
assert test.validate_params('hackenv-re', 'test.username') is not errors
assert test.validate_params('fakeenv', 'test.username') is errors
assert test.validate_params('hackevn-re', 'vagrant') is errors
global counter
counter += 1
print "Test Passed {0}/5: validate_params".format(counter)
test_db_refresh()
except:
print "Test Failed {0}/5: validate_params".format(counter)
test_db_refresh()
但这似乎违背了使用unittest的初衷?我认为使用unittest我可以断言是否引发了异常,它返回一个T/F,我可以用它做任何我想做的事情。在
希望这是足够的信息。在
根据给出的许多答案,我假设在unittest中没有任何内置的东西可以进行assertRaise(我相信这是在Django中使用的)
断言测试代码不会引发异常是免费的,您不需要为此编写代码。在
相关问题 更多 >
编程相关推荐