Итак, я верю, что у меня что-то действительно неясно, но я долго пытаюсь найти способ, и все, кто пытался помочь мне, просто скажите, что я в значительной степени получил он правильно настроен на все, чтобы работать, но это не не независимо от того, какой тест я стараюсь, я был через так много, но наиболее перспективным в настоящее время являетсяUnittest кода шифрования
import unittest
from unittest import TestCase
from mock import patch
from encrdecrprog import encryption
class teststuff(TestCase):
def test_encryption(self):
with patch('__bulletin__.raw_input', return_value = 'x') as raw_input:
self.assertEqual(encryption(x), '78')
_raw_input.assert_called_once_with('x')
Я украл из python mocking raw input in unittests я просто не» t понять, как это работает, на всех ...
Код, который я хочу проверить
def enprint():
print(encryption(raw_input()))
def encryption(x):
pur = ("".join("{:02x}".format(ord(c)) for c in x))
#The code for this was shamelessly stolen from https://stackoverflow.com/questions/12214801/print-a-string-as-hex-bytes
return pur
def main():
userinput = raw_input()
if userinput == "1":
enprint()
Мне нужно выяснить, как заставить unittest работать, правильно. У меня есть вход, который является шифрованием (x), это вызывается другим методом. Этот вход необходим без вызова другого метода для его проверки с помощью unittest. Мне нужно проверить, если результат равен тому, что я уже понял заранее, что x = 78, поэтому я прочертил этот код в основном так же ясно, как могу, английский не мой первый язык, так что извините, если это плохо.
Вот новейшая попытка:
import unittest
from encrdecrprog import encryption
class TestStringMethods(unittest.TestCase):
def setup(self):
pass
def test_encryption(self):
self.assertEquals(encryption('x'), 78)
print self.test_encryption
if __name__ == '__main__':
unittest.main()
Кроме того, что я ожидал это тест, который проверяет погода х действительно равна 78. EDIT: добавить я использую 2.7 питона, вероятно, следует добавить, что я использовать крыло чтобы помочь мне выявить ошибки с помощью встроенного контролера исключений, чтобы помочь мне определить, что не так, на случай, если это имеет значение.
... есть ли у вас фактический вопрос *? – jonrsharpe
Да, как я на самом деле делаю unittest, который работает из этого беспорядка, потому что это в основном то, что есть. Редактировать: Да, беспорядок - это немного неправильно. В основном мне нужен только unittest из-за шифрования (x) – HopelessNoobInPython
* «Как я могу сделать unittest, который работает из этого беспорядка»? Это не подходящий вопрос для SO, который не является ни кодовым письмом, ни учебной службой , Пожалуйста, примите [тур] и прочитайте [ask]. Обратите внимание, что бессмысленно издеваться над функцией, которую функция под тестированием * даже не вызывает *. * «по крайней мере, нет ошибок». * - Я вижу несколько ошибок в вашем тестовом тестовом коде, поэтому, если вы не видите трассировку, вы фактически не должны ее запускать. – jonrsharpe