Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to call a method of class in another file in python [unit test]

Tags:

I want to call a method of class in another file, the class is using unittest.Testcase. You can find example snippet below,

class Introduction(unittest.TestCase):
  def test_case1(self):
    print "test 1"
  def test_case2(self):
    print "test 2"
if__name__=="main"
unittest.main()

Here i can able to call the entire class by using below logic

introduction = unittest.TestLoader().loadTestsFromTestCase(Introduction)
unittest.TextTestRunner(verbosity=3).run(introduction)

but i want call a single test_case2 method in another file, can you please help me out.

Thanks in advance, Ranjith

like image 314
Ranjith Avatar asked May 02 '17 10:05

Ranjith


2 Answers

You can try this one:

Firstly you should import the python module that holds Introduction.test_case2 into the script you from which you want to call that test_case2 (lets call it "main_script")

import unittest
from test_module_name import Introduction

Now you can do this to call the test_case2 in your "main_script"

if __name__ == '__main__':
    unittest.main(defaultTest="Introduction.test_case2", exit=False)
like image 125
stefan.stt Avatar answered Sep 21 '22 10:09

stefan.stt


I got the logic to call a single method from a class, please find the below logic to resolve

import Introduction
suite = unittest.TestSuite()
suite.addTest(Introduction('test_case1'))
print suite
unittest.TextTestRunner().run(suite)
like image 40
Ranjith Avatar answered Sep 22 '22 10:09

Ranjith