我正在尝试为python脚本编写单元测试。无论是否需要代理凭据,我的脚本都会接受用户输入。我已经看到几个answer-1,answer-2,answer-3像是通过子流程和pexpect执行。但是我的意图是,在接受用户输入后,我必须在脚本中执行其他功能。因此,执行脚本无济于事。我的python脚本如下。有人可以向我提供建议或实现该建议的方法吗?
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
choice = raw_input("Enter credentials : Y/N ").lower()
if choice.lower() == "y":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
self.requireProxyCredentials = "Y"
elif choice.lower() == "n":
print("credentials are not present ")
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
obj=ProxyDetails(option="Default")
我想在提示Enter credentials : Y/N
时发送输入值。
答案 0 :(得分:0)
实际上,这是一个duplicate问题。我不会删除此问题,因为它可能对其他人有用。
const util = require('util');
const exec = util.promisify(require('child_process').exec);
test('render', async () => {
const { stdout, stderr } = await exec('./render.local.sh');
console.log(stdout, stderr);
})