73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
import py
 | 
						|
 | 
						|
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
 | 
						|
 |