Python unittesting method call issue

Milson Munakami milsonmun at gmail.com
Sat Sep 27 19:25:34 EDT 2014


I am trying to set the precondition for the test first prior to test other test cases. But as you can see in my code the precondition print command is not fired! Can you explain the cause and solution how to fire the code with in that method i.e. SetPreConditionFirewall() with setup variable self.<variablename> in this fucntion. Here is my code:

import json
import urllib
#import time
#from util import *
import httplib

#import sys
#from scapy.all import *

import unittest

import os, sys, socket, struct, select, time 
from threading import Thread

import logging
import traceback

class testFirewallS1( unittest.TestCase ):
    def setUp(self):
        self.controllerIp="127.0.0.1"
    def tearDown(self):
        if self.failed:
            return
        duration = time.time() - self.startTime_
        self.cleanup(True)
        if self.reportStatus_:
            self.log.info("=== Test %s completed normally (%d sec)", self.name_, duration)

    def cleanup(self, success):
        sys.excepthook = sys.__excepthook__
        try:
            return
        except NameError:
            self.log.error("Exception hit during cleanup, bypassing:\n%s\n\n" % traceback.format_exc())
            pass
        else:

                fail("Expected a NameError")    

    def SetPreConditionFirewall(self):
        command = "http://%s:8080/wm/firewall/module/enable/json" % self.controllerIp
        urllib.urlopen(command).read()
        print self.controllerIp
        print "Test Pre-condition setting here"

    #Precondition Test
    def testPreConditionFirewall(self):
        print "Test pass"   

def suite():

        suite = unittest.TestSuite()

        suite.addTest(unittest.makeSuite(testFirewallS1))

        return suite


if __name__ == '__main__':

        suiteFew = unittest.TestSuite()

        testFirewallS1("SetPreConditionFirewall")

        suiteFew.addTest(testFirewallS1("testPreConditionFirewall"))


        #Testing the Test Cases Begins Here
        unittest.TextTestRunner(verbosity=2).run(suiteFew)

How can I do access that method on __main__ and how can that method can access the setup variable.

Thanks



More information about the Python-list mailing list