'un altında emredilebiliyor Python unittests var burdayım. Ben setUpModule(), tearDownModule() ve test modülleri ithalatı bazı garip sıralaması gözlemledim. vesetUpModule, tearDownModule ve ithalat
test1.py
test_dir/test2.py
test1.py Hem aşağıdaki gibi test2.py: Bu (örnek) dizin yapısı
-
: I
- import test1
- import test2
- setUp test1 çalışan test2.test1 test1.test1
- söküm test1
- Kur dnm2
- çalışan
- G/arzu beklediğiniz olduğunu tearDown dnm2
nosetests -s test1.py test_dir/test2.py
çalıştırın
import sys
import unittest
def flushwrite(text):
sys.stdout.write(text + '\n')
sys.stdout.flush()
flushwrite("import %s" % __name__)
def setUpModule():
flushwrite("setUp %s" % __name__)
def tearDownModule():
flushwrite("tearDown %s" % __name__)
class Test(unittest.TestCase):
def test1(self):
flushwrite("running %s.test1" % __name__)
, bu dizisine bakınız
.
- ithalat test1
- ithalat dnm2
- Kur test1
- test1.test1
- Kur test2 çalıştıran: I (test2.py bulmak için deney keşfini kullanarak)
nosetests -s test1.py test_dir
çalıştırdığınızda, bu diziyi bakın - çalışan test2.test1
- tearDown dnm2
- tearDown test1 tearDown Test1 TEST2 testlerinin SONRA yürütür için bu
not edin. Bu, test2 çalıştırıldığında sistemin temiz bir durumda olmadığı anlamına gelir! Açıkçası, bu büyük bir dizin ağacından keşfedilen binlerce testin üretim ortamında bir sorun olabilir.
N'aber? Bir şeyi yanlış anladım mı? Her test modülünden sonra tearDownModule'un çalışmasını sağlamanın bir yolu var mı? senin test2.py
dosya test1.py
aynı modülde altında olduğundan
Nosetests'in ['--with-isolation'] (https://nose.readthedocs.org/en/latest/plugins/isolate.html) adresini kullanabilirim. Ancak, kendi sorunları var gibi görünüyor. – dbn
Şimdilik, tearDownModule() yerine tearDownSuite() kullanarak taşıdım. – dbn