  pytest.mark.xfail), it’s an xpass and will be reported in the test summary.
One of the important differences between the two is that skip doesn't run the test, and xfail does. So if the
code that's buggy causes some bad state that will affect other tests, do not use xfail.
Implementation
Here is how to skip whole test unconditionally:
python no-style
@unittest.skip("this bug needs to be fixed")
def test_feature_x():
or via pytest:
python no-style
@pytest.mark.skip(reason="this bug needs to be fixed")
or the xfail way:
python no-style
@pytest.mark.xfail
def test_feature_x():
Here is how to skip a test based on some internal check inside the test:
python
def test_feature_x():
    if not has_something():
        pytest.skip("unsupported configuration")
or the whole module:
```python
import pytest
