加密代码的单元测试

2024-09-27 23:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,所以我相信我错过了一些非常明显的东西,但是我已经努力了很长一段时间来想办法,每个试图帮助我的人都告诉我,我已经把它设置得很好,可以让一切正常工作,但不管我试过什么测试,我都经历过很多次,但目前最有希望的是

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那里偷的这个,我只是不明白它是怎么工作的,一点也不懂。。。在

我要测试的代码是

^{pr2}$

我需要弄清楚如何让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()

另外,我期望的是一个测试,它可以检查x是否真的等于78。 编辑:为了补充,我使用的是2.7python可能应该加上我使用wing ide来帮助我发现错误,它内置了异常检查器,以帮助我发现错误,只是以防万一。在


Tags: 代码fromtestimportselfinputrawdef

热门问题