summaryrefslogtreecommitdiff
path: root/testing/example_scripts
diff options
context:
space:
mode:
authorBruno Oliveira <nicoddemus@gmail.com>2019-01-31 20:24:11 -0200
committerBruno Oliveira <nicoddemus@gmail.com>2019-01-31 20:24:11 -0200
commitc3d734054241f69220070ce6d4cb00db4acc50c6 (patch)
treecf1b97739d61d9b3666ddd6a2bc89e2fa2196e21 /testing/example_scripts
parent7dcd9bf5add337686ec6f2ee81b24e8424319dba (diff)
downloadpytest-c3d734054241f69220070ce6d4cb00db4acc50c6.tar.gz
Fix setUpClass being called in subclasses that were skipped
Fix #4700
Diffstat (limited to 'testing/example_scripts')
-rw-r--r--testing/example_scripts/unittest/test_setup_skip.py13
-rw-r--r--testing/example_scripts/unittest/test_setup_skip_class.py14
-rw-r--r--testing/example_scripts/unittest/test_setup_skip_module.py12
3 files changed, 39 insertions, 0 deletions
diff --git a/testing/example_scripts/unittest/test_setup_skip.py b/testing/example_scripts/unittest/test_setup_skip.py
new file mode 100644
index 000000000..93f79bb3b
--- /dev/null
+++ b/testing/example_scripts/unittest/test_setup_skip.py
@@ -0,0 +1,13 @@
+"""Skipping an entire subclass with unittest.skip() should *not* call setUp from a base class."""
+import unittest
+
+
+class Base(unittest.TestCase):
+ def setUp(self):
+ assert 0
+
+
+@unittest.skip("skip all tests")
+class Test(Base):
+ def test_foo(self):
+ assert 0
diff --git a/testing/example_scripts/unittest/test_setup_skip_class.py b/testing/example_scripts/unittest/test_setup_skip_class.py
new file mode 100644
index 000000000..4f251dcba
--- /dev/null
+++ b/testing/example_scripts/unittest/test_setup_skip_class.py
@@ -0,0 +1,14 @@
+"""Skipping an entire subclass with unittest.skip() should *not* call setUpClass from a base class."""
+import unittest
+
+
+class Base(unittest.TestCase):
+ @classmethod
+ def setUpClass(cls):
+ assert 0
+
+
+@unittest.skip("skip all tests")
+class Test(Base):
+ def test_foo(self):
+ assert 0
diff --git a/testing/example_scripts/unittest/test_setup_skip_module.py b/testing/example_scripts/unittest/test_setup_skip_module.py
new file mode 100644
index 000000000..98befbe51
--- /dev/null
+++ b/testing/example_scripts/unittest/test_setup_skip_module.py
@@ -0,0 +1,12 @@
+"""setUpModule is always called, even if all tests in the module are skipped"""
+import unittest
+
+
+def setUpModule():
+ assert 0
+
+
+@unittest.skip("skip all tests")
+class Base(unittest.TestCase):
+ def test(self):
+ assert 0