Python birim temel ve alt sınıf test | Netgez.com
SORU
24 AÄžUSTOS 2009, PAZARTESÄ°


Python birim temel ve alt sınıf test

Ben şu anda test kümesini paylaşan birkaç birim testleri var. İşte size bir örnek:

import unittest

class BaseTest(unittest.TestCase):

    def testCommon(self):
        print 'Calling BaseTest:testCommon'
        value = 5
        self.assertEquals(value, 5)

class SubTest1(BaseTest):

    def testSub1(self):
        print 'Calling SubTest1:testSub1'
        sub = 3
        self.assertEquals(sub, 3)


class SubTest2(BaseTest):

    def testSub2(self):
        print 'Calling SubTest2:testSub2'
        sub = 4
        self.assertEquals(sub, 4)

if __name__ == '__main__':
    unittest.main()

Yukarıda çıktı

Calling BaseTest:testCommon
.Calling BaseTest:testCommon
.Calling SubTest1:testSub1
.Calling BaseTest:testCommon
.Calling SubTest2:testSub2
.
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

Bir şekilde ilk testCommon denir böylece yukarıda yeniden yazmak var mı?

DÜZENLEME: Yukarıda 5 testler yerine, SubTest1 sadece 4 testleri, 2 ve SubTest2 başka 2 çalıştırmak istiyorum. Python unittest kendi özgün BaseTest çalışıyor gibi görünüyor ve bunun olmasını engellemek için bir mekanizma lazım.

CEVAP
24 AÄžUSTOS 2009, PAZARTESÄ°


Ortak testleri ile sınıf değil bu yüzden Birden çok devralma kullanın, deneme durumu kendisi devralır.

import unittest

class CommonTests(object):
    def testCommon(self):
        print 'Calling BaseTest:testCommon'
        value = 5
        self.assertEquals(value, 5)

class SubTest1(unittest.TestCase, CommonTests):

    def testSub1(self):
        print 'Calling SubTest1:testSub1'
        sub = 3
        self.assertEquals(sub, 3)


class SubTest2(unittest.TestCase, CommonTests):

    def testSub2(self):
        print 'Calling SubTest2:testSub2'
        sub = 4
        self.assertEquals(sub, 4)

if __name__ == '__main__':
    unittest.main()

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • kruno j

    kruno j

    6 Mayıs 2007