
Ayuda con pytest
Publicado por Jose (3 intervenciones) el 18/10/2016 17:37:38
Bueenas, necesito ayuda con pytest.
El problema es este:
Escribir un programa que contenga una contraseña inventada, que le pregunte al usuario
la contraseña, y no le permita continuar hasta que la haya ingresado correctamente.
Modificar el programa anterior para que solamente permita una cantidad fija de intentos
El tema es que el programa lo escribo, pero a la hora de usar el pytest nose como hacerlo.
El error que recibo al usar el comando
$~ python3 -m pytest ejercicio.py
5a.py:34: in <module>
ingresar()
5a.py:23: in ingresar
pw = input("Ingrese contraseña: ")
/home/pc/.local/lib/python3.5/site-packages/_pytest/capture.py:444: in read
raise IOError("reading from stdin while output is captured")
E OSError: reading from stdin while output is captured
------------------------------- Captured stdout --------------------------------
Ingrese contraseña:
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.12 seconds ============================
No entiendo a que se debe el error, si cuando no uso el pytest el programa funciona.
Disculpen si hay algo que no se entiende, es la primera vez que publico algo
El problema es este:
Escribir un programa que contenga una contraseña inventada, que le pregunte al usuario
la contraseña, y no le permita continuar hasta que la haya ingresado correctamente.
Modificar el programa anterior para que solamente permita una cantidad fija de intentos
El tema es que el programa lo escribo, pero a la hora de usar el pytest nose como hacerlo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
realpass = 'asdasd'
def verificacionA(pw):
if pw != realpass:
return 'Incorrecto'
ingresar()
else:
return 'Correcta'
def test_verificacionA():
assert verificacionA('Asd') == 'Incorrecto'
def verificacionB(pw):
if pw != realpass:
return 'Incorrecto'
ingresar()
else:
print("Correcta")
return 'Correcta'
def ingresar():
pw = input("Ingrese contraseña: ")
verificacionA(pw)
i=1
res = verificacionB(pw)
while i <= 3:
if res == 'Incorrecto':
pw = input("Reintentar: ")
verificacionB(pw)
i=i+1
ingresar()
El error que recibo al usar el comando
$~ python3 -m pytest ejercicio.py
5a.py:34: in <module>
ingresar()
5a.py:23: in ingresar
pw = input("Ingrese contraseña: ")
/home/pc/.local/lib/python3.5/site-packages/_pytest/capture.py:444: in read
raise IOError("reading from stdin while output is captured")
E OSError: reading from stdin while output is captured
------------------------------- Captured stdout --------------------------------
Ingrese contraseña:
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.12 seconds ============================
No entiendo a que se debe el error, si cuando no uso el pytest el programa funciona.
Disculpen si hay algo que no se entiende, es la primera vez que publico algo
Valora esta pregunta


0