Базовый unittest TestCase

#python #python-unittest

#python #python-unittest

Вопрос:

Я написал приведенный ниже код, чтобы протестировать базовый пример unittest для обучения. Когда я выполняю приведенный ниже код. Я не получаю никаких выходных данных. Может кто-нибудь сообщить мне, в чем может быть проблема.

 import unittest
  class test123(unittest.TestCase):

    def test1(self):
      print "test1"

 if __name__ == "main":
 x=test123()
 x.test1()
 unittest.main()
  

Комментарии:

1. Это должно быть if __name__ == "__main__": , и все, что вам нужно сделать, это вызвать unittest.main() . Вам не нужно создавать экземпляр вашего класса. Он unittest.main() обрабатывает все за вас. Пересмотрите документацию.

Ответ №1:

ваш код должен выглядеть следующим образом:

 import unittest

class test123(unittest.TestCase):
    def test1(self):
        print "test1"


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

следовательно, это name и main с двумя символами подчеркивания в начале и конце, когда вы измените его и запустите с вашим кодом, вы получите сообщение об ошибке при использовании:

 x = test123()
x.test1()

ValueError: no such test method in <class '__main__.test123'>: runTest
  

Ответ №2:

В вашем тесте вам нужны две вещи:

  1. Определите свою тестовую функцию с помощью ‘test’
  2. Вам нужен ожидаемый результат

test.py

 import unittest

class TestHello(unittest.TestCase):

    def test_hello(self):  # Your test function usually need define her name with test
        str_hello = 'hello'
        self.assertEqual(str_hello, 'hello') # you need return a expected result

    def test_split(self):
        str_hello = 'hello world'
        self.assertEqual(str_hello.split(), ['hello', 'world'])

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

для выполнения используйте:

 python -m unittest test
  

out:

 stackoverflow$ python -m unittest test
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK
  

Комментарии:

1. импорт unittest из selenium импортируйте webdriver из selenium. webdriver.common. ключи импортируют ключи класса weblogin(unittest. TestCase): определение open_fb(self): драйвер = webdriver. Firefox() driver.get(» facebook.com » ) email_field=driver.find_element_by_id(«электронная почта») email_field.send_keys(«test123@gmail.com «) pass_field=driver.find_element_by_id(«pass») pass_field.send_keys(«test123») pass_field.send_keys(Ключи. ВОЗВРАТ) time.sleep(5) если name == ‘ main ‘: unittest.main()