I\'m looking for something like ruby rspec\'s focus
metadata or elixir\'s mix tags to run a single python test.
#
Say hello to pytest mark. You can create a focus tag, assign to any test case or method and then run tests with pytest -v -m focus
command. For example:
import unittest
import pytest
class TestOne(unittest.TestCase):
def test_method1(self):
# I won't be executed with focus mark
self.assertEqual(1, 1)
@pytest.mark.focus
def test_method2(self):
# I will be executed with focus mark
self.assertEqual(1, 1)
will run test_method2
. To run all methods within some TestCase, you simply mark a class:
import unittest
import pytest
@pytest.mark.focus
class TestOne(unittest.TestCase):
...
You will need to register your custom marks in pytest.ini
like
[pytest]
markers =
focus: what is being developed right now
To see the available marks, run pytest --markers
.