0
0 комментариев

Я пишу свои тесты на unittest. Проблема в unittest то что если имя теста не пишется по альфабет то тесты не будут идти по порядку. Я нашёл решения проблемы для python 2 здесь я пытался сделать тоже самое на python 3 но проблема в том что python 3 не поддерживает cmp(). Я сделал в отдельном файле функцию которая решает эту проблему.

[apcode language=»python»]

def cmp(a, b):
    return (a > b) - (a < b)

[/apcode]

Потом я сделал import этой функции, но так не чего не помогло.

[apcode language=»python»]

import unittest
from cmp_f import cmp
  class Login(unittest.TestCase):
     def test_remove_notes_and_reports(self):
        print("1")
     def test_login_app(self):
        print("2")
     def test_report_summary_after_edit(self):
        print("3")
     def test_report_summary(self):
        print("4")
  if __name__ == "__main__":
    loader = unittest.TestLoader()
    ln = lambda f: getattr(Login, f).im_func.func_code.co_firstlineno
    lncmp = lambda a, b: cmp(ln(a), ln(b))
    loader.sortTestMethodsUsing = lncmp
    unittest.main(testLoader=loader, verbosity=2)

[/apcode]

Решенный вопрос
Добавить комментарий