I have a Python script and I am trying to set a variable so that if the first test fail’s the rest of then will be set to fail. The script I have so far is:
class Tests(unittest.TestCase):
def result(self):
....This function does something[ignore]......
someArg = 0
def testPass(self):
try:
self.result()
except suds.WebFault, e:
assert False
except Exception, e:
pass
finally:
if someArg == 0:
assert True
else:
global error
error = False
assert False
def testFail(self):
try:
self.result()
except suds.WebFault, e:
assert False
except Exception, e:
pass
finally:
if someArg == 0 or 'error' in globals():
assert False
else:
assert True
class Get(Tests):
def runTest(self):
self.testPass()
class GetFail(Tests):
def runTest(self):
self.errorHandle()
self.testFail()
if __name__ == '__main__':
unittest.main()
I am trying to get self.error to be set to False if the first test fail. I understand that it is being set in another test but I was hoping someone could help me find a solution to this problem using some other means.
Thanks
PS. Please ignore the strange tests. There is a problem with the error handling at the moment.
I’m having a hard time understanding your code, so let’s pinpoint a few bits that I do understand (as it look like you may believe things are different from how they are).
The call
which you perform repeatedly works as a no-operation: the
errorHandlemethod just does areturn, the callers ignore the returned value, so that, net, “nothing happens” and you might as well avoid calling the method at all. What do you expect to happen when you call a method that just returns something and ignore the return value?No idea where you’re getting the
someArgvalue — I see it tested in two methods but never set. Is this maybe meant as pseudocode at some level…?Not sure what the syntax of that
def function(self)(i.e.result function...) is supposed to convey — it’s meant to be some kind of pseudocode, I’m sure, but what exactly?If you can clarify these points — most especially the first one about the
errorHandlemethods and the calls to it — maybe it will be easier for us to offer assistance.