Python测试。raw_input测试

用户名

我有一个python函数,询问用户是否要使用当前文件,或选择一个新文件。我需要测试一下。这是函数:

def file_checker(self):
    file_change = raw_input('If you want to overwite existing file ?(Y/N) ')

    if (file_change == 'y') or (file_change == 'Y') or (file_change == 'yes'):
        logging.debug('overwriting existing file')

    elif file_change.lower() == 'n' or (file_change == 'no'):
        self.file_name = raw_input('enter new file name: ')
        logging.debug('created a new file')
    else:
        raise ValueError('You must chose yes/no, exiting')
    return os.path.join(self.work_dir, self.file_name)

当用户选择“是”时,我已经放弃了该部分,但是我不知道如何测试“否”部分:

def test_file_checker(self):
    with mock.patch('__builtin__.raw_input', return_value='yes'):
        assert self.class_obj.file_checker() == self.fname
    with mock.patch('__builtin__.raw_input', return_value='no'):
    #what should I do here ? 
虚假的

根据mock文件

如果side_effect为可迭代,则每次对模拟的调用都将返回可迭代的下一个值。side_effect也可以是任何可迭代的对象。重复调用该模拟将返回iterable中的值(直到iterable耗尽并引发StopIteration为止):

因此,该no部分可以表示为:

with mock.patch('__builtin__.raw_input', side_effect=['no', 'file2']):
    assert self.class_obj.file_checker() == EXPECTED_PATH

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python raw_input

来自分类Dev

获取raw_input Python的时差

来自分类Dev

cmd Python中的Raw_input

来自分类Dev

cmd Python中的Raw_input

来自分类Dev

在python中添加raw_input数字

来自分类Dev

Python:raw_input的奇怪行为

来自分类Dev

Python raw_input 不会提示

来自分类Dev

Python通过写入stdin取消raw_input / input?

来自分类Dev

Python通过写入stdin取消raw_input / input?

来自分类Dev

if ... else语句在Python上的raw_input问题

来自分类Dev

高效的python raw_input和串行端口轮询

来自分类Dev

如何在Python中的raw_input的行上打印?

来自分类Dev

使用raw_input命令在后台运行python脚本

来自分类Dev

Python raw_input搞乱了字符串连接

来自分类Dev

在python 2的unittest模块中模拟raw_input()

来自分类Dev

Countdown loop for a 'raw_input' on the same line in Python

来自分类Dev

Python线程问题,raw_input()阻塞线程,失控线程

来自分类Dev

在python中使用raw_input获取列表

来自分类Dev

无法从php将raw_input传递给Python

来自分类Dev

if ... else语句在Python上的raw_input问题

来自分类Dev

带while的Python raw_input无法正常工作

来自分类Dev

如何使用raw_input读取python中的输入

来自分类Dev

python中的raw_input,输出错误

来自分类Dev

设置函数以在python中调用raw_input

来自分类Dev

Python vigenereHacker程序失败,并显示raw_input

来自分类Dev

在python中乘法矩阵,raw_input的错误

来自分类Dev

Python:raw_input 应转换为 unicode

来自分类Dev

限制raw_input长度

来自分类Dev

乘以raw_input变量