[파이썬] unittest setUp 및 tearDown 메서드 활용

In Python, the unittest module is a built-in testing framework that allows you to write and run tests for your code. To organize and manage your tests, you can make use of the setUp and tearDown methods provided by the unittest.TestCase class. These methods allow you to set up and tear down any necessary resources or states before and after each test case execution.

The setUp Method

The setUp method is called before each test method in your test case class. This method is used to set up the necessary environment for your tests, such as initializing objects, connecting to a database, or loading sample data. By utilizing setUp, you can ensure that each test starts with a clean and consistent state.

Here’s an example of how to use the setUp method:

import unittest

class MyTestCase(unittest.TestCase):
    def setUp(self):
        # Set up any required resources or states
        self.name = "John Doe"
        self.age = 25

    def test_name(self):
        self.assertEqual(self.name, "John Doe")

    def test_age(self):
        self.assertEqual(self.age, 25)

In the above example, the setUp method initializes two variables (name and age) before every test case. These variables can then be accessed by any test method within the class.

The tearDown Method

On the other hand, the tearDown method is called after each test method in your test case class. This method is used to clean up any resources, close connections, or revert any changes made during the test. By utilizing tearDown, you can ensure that your tests leave no artifacts or unwanted side effects.

Here’s an example of how to use the tearDown method:

import unittest

class MyTestCase(unittest.TestCase):
    def setUp(self):
        # Set up any required resources or states
        self.name = "John Doe"
        self.age = 25

    def tearDown(self):
        # Clean up any resources or revert changes
        self.name = None
        self.age = None

    def test_name(self):
        self.assertEqual(self.name, "John Doe")

    def test_age(self):
        self.assertEqual(self.age, 25)

In the above example, the tearDown method sets the variables name and age to None after every test case. This ensures that the state is reset and doesn’t affect subsequent test cases.

Conclusion

The setUp and tearDown methods in Python’s unittest module are powerful tools that allow you to set up and tear down required resources and states before and after each test case execution. By utilizing these methods effectively, you can ensure the reliability and cleanliness of your tests, leading to more robust and maintainable code.