Я работаю над написанием юнит-тестов, но их нужно было запускать, когда я добавил их в TestSuite. Поэтому моя проблема в том, что когда я запускаю testrunner.py из PyCharm, я получаю то, что мне нужно, но если я запускаю тот же файл из терминала, тесты сортируются по алфавиту, и это плохо для меня.
Например: у меня есть 2 test, test_dummy_01.py и test_dummy_01 в папке «tests /» моей платформы. Также я создал файл testrunner.py, в который я сначала добавляю класс TestDummy02, а затем класс TestDummy01. Поэтому, когда я запускаю testrunner.py из PyCharm, сначала запускается тест test_dummy_02.py, а за секунду test_dummy_01.py, что мне хорошо. Теперь мне нужно то же поведение, когда я запускаю один и тот же файл в терминале, но сначала он всегда запускает файл test_dummy_01.py. Поэтому, пожалуйста, если кто-нибудь может мне помочь?
Иерархия папок моих файлов:
Project/
tests/
test_dummy_01.py
test_dummy_02.py
testrunner.py
test_dummy_01.py test: - test_dummy_02 Файл .py такой же, как этот
class TestDummy01(BaseTestCase):
def setUp(self):
super(TestDummy, self).setUp()
def test_dummy_01(self):
driver = self.driver
login = LoginPage(driver)
login.enter_username("Something")
def tearDown(self):
super(TestDummy, self).tearDown()
Файл testrunner.py , в который я добавил заказ
import sys
import unittest
from tests.test_dummy_01 import TestDummy01
from tests.test_dummy_02 import TestDummy02
def suite():
suite_x = unittest.TestSuite()
suite_x.addTest(unittest.makeSuite(TestDummy02)) # In PyCharm this test is runned first, but in Teminal this will run by second
suite_x.addTest(unittest.makeSuite(TestDummy01))
return suite_x
def run():
result = unittest.TextTestRunner(verbosity=2).run(suite())
if not result.wasSuccessful():
sys.exit(1)
if __name__ == '__main__':
run()
Терминал PyCharm