Uygulamamın dosyaları/Files altındayken,/UnitTests içindeki test ünitelerine sahip olmak istiyorum, böylece uygulama ve testi açıkça ayırdım.Python unittesting: başka bir modüldeki testleri çalıştır
mainApp.py ile aynı modül yollarını kullanabilmek için, kök klasöründe bir testController.py oluşturdum. Sonra
import unittest
import Files.Controllers.blabla as blabla
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(blabla.some_function())
if __name__ == '__main__':
unittest.main()
Ve dosyadan: test_something.py I /Files/Controllers/blabla.py içinde olan bir işlevi test etmek istiyorsanız
mainApp.py
testController.py
Files
|__init__.py
|Controllers
| blabla.py
| ...
UnitTests
|__init__.py
|test_something.py
Yani, aşağıdakileri deneyin testController.py, ben şu kodu çalıştırın: hayır arızaları verir
import TestUnits.test_something as my_test
my_test.unittest.main()
, ancak hiçbir testler
infaz----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
[Finished in 0.3s]
hiçbir bağımlılık durumu olan bir test ile çalıştı ve " ana" çalıştığını olarak idam eğer, ancak dışarıdan çağrıldığında, aynı çıkışı var:
import unittest
def tested_unit():
return True
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(tested_unit())
if __name__ == '__main__':
unittest.main()
Soru: Bunu nasıl çalıştıracağım?
Bu biraz biraz verbose, ama çalışıyor, teşekkürler. – bgusach