106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| import pytest
 | |
| 
 | |
| def test_simple_unittest(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         pytest_plugins = "pytest_unittest"
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             def testpassing(self):
 | |
|                 self.assertEquals('foo', 'foo')
 | |
|             def test_failing(self):
 | |
|                 self.assertEquals('foo', 'bar')
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     assert reprec.matchreport("testpassing").passed
 | |
|     assert reprec.matchreport("test_failing").failed
 | |
| 
 | |
| def test_isclasscheck_issue53(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         class _E(object):
 | |
|             def __getattr__(self, tag):
 | |
|                 pass
 | |
|         E = _E()
 | |
|     """)
 | |
|     result = testdir.runpytest(testpath)
 | |
|     assert result.ret == 0
 | |
| 
 | |
| def test_setup(testdir):
 | |
|     testpath = testdir.makepyfile(test_two="""
 | |
|         import unittest
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             def setUp(self):
 | |
|                 self.foo = 1
 | |
|             def test_setUp(self):
 | |
|                 self.assertEquals(1, self.foo)
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     rep = reprec.matchreport("test_setUp")
 | |
|     assert rep.passed
 | |
| 
 | |
| def test_new_instances(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             def test_func1(self):
 | |
|                 self.x = 2
 | |
|             def test_func2(self):
 | |
|                 assert not hasattr(self, 'x')
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     reprec.assertoutcome(passed=2)
 | |
| 
 | |
| def test_teardown(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         pytest_plugins = "pytest_unittest" # XXX
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             l = []
 | |
|             def test_one(self):
 | |
|                 pass
 | |
|             def tearDown(self):
 | |
|                 self.l.append(None)
 | |
|         class Second(unittest.TestCase):
 | |
|             def test_check(self):
 | |
|                 self.assertEquals(MyTestCase.l, [None])
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     passed, skipped, failed = reprec.countoutcomes()
 | |
|     assert failed == 0, failed
 | |
|     assert passed == 2
 | |
|     assert passed + skipped + failed == 2
 | |
| 
 | |
| def test_module_level_pytestmark(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         import pytest
 | |
|         pytestmark = pytest.mark.xfail
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             def test_func1(self):
 | |
|                 assert 0
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath, "-s")
 | |
|     reprec.assertoutcome(skipped=1)
 | |
| 
 | |
| def test_class_setup(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import unittest
 | |
|         import pytest
 | |
|         class MyTestCase(unittest.TestCase):
 | |
|             x = 0
 | |
|             @classmethod
 | |
|             def setUpClass(cls):
 | |
|                 cls.x += 1
 | |
|             def test_func1(self):
 | |
|                 assert self.x == 1
 | |
|             def test_func2(self):
 | |
|                 assert self.x == 1
 | |
|             @classmethod
 | |
|             def tearDownClass(cls):
 | |
|                 cls.x -= 1
 | |
|         def test_teareddown():
 | |
|             assert MyTestCase.x == 0
 | |
|     """)
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     reprec.assertoutcome(passed=3)
 |