Is this a good way to implement testing

Cecil Westerhof Cecil at decebal.nl
Sat May 2 18:29:17 EDT 2015


Still on my journey to learn Python.

At the moment I define the test functionality in the following way:
    if __name__ == '__main__':
        keywords        = [
            'all',
            'factorial',
            'fibonacci',
            'happy',
            'lucky',
        ]
        keywords_msg    = [
            '--all',
            '--factorial',
            '--fibonacci',
            '--happy',
            '--lucky',
        ]
        (options,
         extraParams)   = getopt.getopt(sys.argv[1:], '', keywords)
        progname        = split(sys.argv[0])[1]

        if len(options) > 1 or len(extraParams) != 0:
            error   = '{0}: Wrong parameters ({1})'. \
                      format(progname, ' '.join(sys.argv[1:]))
            usage   = '    {0} {1}'.format(progname, ' | '.join(keywords_msg))
            print(error, file = sys.stderr)
            print(usage, file = sys.stderr)
            sys.exit(1)

        do_all = do_factorial = do_fibonacci = do_happy = do_lucky = False
        if len(options) == 0:
            do_all = True
        else:
            action = options[0][0]
            if   action == '--all':
                do_all          = True
            elif action == '--factorial':
                do_factorial    = True
            elif action == '--fibonacci':
                do_fibonacci    = True
            elif action == '--happy':
                do_happy        = True
            elif action == '--lucky':
                do_lucky        = True
            else:
                print >> sys.stderr, progname + ': Unhandled parameter ' + action
                sys.exit(1)

        if do_all or do_factorial:
        .
        .
        .

Is this an acceptable way of working?

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof



More information about the Python-list mailing list