Skip to content

Set Up Test

Amin Zamani edited this page Sep 11, 2023 · 1 revision

In Pytest, both setup_method and setup_class are methods used to set up test fixtures and resources, but they serve different purposes and have different scopes.

  1. setup_method:
    • setup_method is a method defined within a test class and is executed before every test method (test function) within that class.
    • It allows you to set up test-specific resources or perform actions that are needed for each individual test method.
    • Use it when you have test-specific setup requirements that need to be executed before each test method.

Here's an example:

class TestMyClass:
    def setup_method(self, method):
        # This method runs before every test method
        self.my_instance = MyClass()

    def test_some_feature(self):
        # Test code here

    def test_another_feature(self):
        # Test code here
  1. setup_class:
    • setup_class is a method defined within a test class and is executed once, at the beginning of the class. It's shared among all test methods within that class.
    • It's typically used for setup that is common to all the test methods in the class and doesn't need to be repeated for each individual test.
    • Use it when you have shared setup requirements that can be reused across multiple test methods in the same class.

Here's an example:

class TestMyClass:
    @classmethod
    def setup_class(cls):
        # This method runs once at the beginning of the class
        cls.common_instance = CommonClass()

    def test_some_feature(self):
        # Test code here using cls.common_instance

    def test_another_feature(self):
        # Test code here using cls.common_instance

In summary, you should choose between setup_method and setup_class based on whether you need setup to occur before each individual test method (setup_method) or if you have common setup that can be reused across multiple test methods within the same class (setup_class). Your choice depends on the specific testing needs and requirements of your project.

Python

Python Essentials 1 (PCEP)

Introduction to Python and computer programming

Data types, variables, basic I/O operations, and basic operators

Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations

Clean Code

Algorithms

Django

Django Rest Framework

API

pip

SQLAlchemy

FastAPI

Pytest

TDD

Git

Linux

Docker

Python Testing

Interview Questions

Clone this wiki locally