-3
好的,所以我相信我错过了一些非常明显的东西,但我一直在尝试很长时间来找出一种方法,每个人都试图帮助我,只是告诉我,我几乎得到了它设置了正确的一切工作,但它不会不管我考什么,我一直在经历了那么多,但最有前途的,现在是单元测试的加密代码
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我只是不”了解它是如何工作的,完全...
我想测试的代码是
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()
我需要弄清楚如何让单元测试正常工作。我有一个输入是加密(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()
而且,我所期望的是一个测试,检查天气X真的等于78 编辑:添加我使用2.7蟒蛇也许应该补充一点,我使用翼IDE帮助我通过内置的异常检查器发现错误,以帮助我发现错误以防万一。
...你有一个真正的*问题*? – jonrsharpe
是的,我该如何做一个单元测试,这个混乱的东西,因为它基本上是什么。编辑:是的,混乱有点不对。基本上我只需要一个加密单元测试(x) – HopelessNoobInPython
*“我如何做一个单元测试可以解决那些混乱的问题”*对于SO来说不是一个合适的问题,它既不是代码编写也不是教程服务。请参加[游览]并阅读[问]。作为初学者,请注意,模拟被测函数*甚至不会调用*的函数是毫无意义的。 *“至少没有错误”* - 我可以在您发布的测试代码中看到几个错误,所以如果您没有看到任何回溯,则不得实际运行它。 – jonrsharpe