首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python模块单元测试中处理密码提示

在Python模块单元测试中处理密码提示
EN

Stack Overflow用户
提问于 2022-07-18 17:34:26
回答 1查看 30关注 0票数 0

我是刚开始python点击和统一测试,我想知道是否有人能帮助我理解如何处理密码提示在单元测试?

我为restconf创建了一个python模块,下面我调用了这个脚本

代码语言:javascript
复制
$ python restconf_cli.py GET -u developer -n sandbox-iosxe-latest-1.cisco.com -p Cisco-IOS-XE-native:native/version
Password: 
{
  "Cisco-IOS-XE-native:version": "17.3"
}

现在,我正在编写unittest来运行相同的命令,但是它卡住了get,什么也没有发生,它可能正在等待密码提示,但不确定,请通知

代码语言:javascript
复制
$ python -m unittest tests/restconf_cli_restconf_get_test.py 

这里是最简单的文件内容

代码语言:javascript
复制
#!/usr/bin/env python

from click.testing import CliRunner
import unittest
import restconf_cli

class RestconfCliRestconfGetTests(unittest.TestCase):
    # breakpoint()
    def test_restconf_get(self):
        runner = CliRunner()
        result = runner.invoke(restconf_cli.restconf_get, 
                               ['GET', 
                                '-u developer', 
                                '-n sandbox-iosxe-latest-1.cisco.com',
                                '-p Cisco-IOS-XE-native:native/version'
                                ])
        # print(result)
        self.assertEqual(result.exit_code, 0)

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

我试过使用断点,但仍然看不到输出。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-18 19:01:46

这是答案,我需要提供input=my_secret

代码语言:javascript
复制
class RestconfCliRestconfGetTests(unittest.TestCase):
    def test_restconf_get(self):
        runner = CliRunner()
        result = runner.invoke(restconf_cli, 
                               ['GET', 
                                '--username', 'developer', 
                                '--hostname', 'sandbox-iosxe-latest-1.cisco.com',
                                '--path', 'Cisco-IOS-XE-native:native/version',
                                ], input='my_secret\n')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73026365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档