Comparar la salida con un valor esperado
En este paso, aprenderás cómo comparar la salida de una función con un valor esperado. Esto es una parte crucial de la prueba y garantía de que tus funciones estén funcionando correctamente. Al comparar la salida real con la salida esperada, puedes identificar y corregir cualquier error en tu código.
Seguiremos utilizando el archivo calculate_sum.py
de los pasos anteriores. Si no has completado los pasos anteriores, por favor crea el archivo con el siguiente contenido:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
## Capture the output and perform an additional operation
final_result = result + 20
print("The final result after adding 20 is:", final_result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
## Capture the output and perform an additional operation
final_result2 = result2 * 2
print("The final result after multiplying by 2 is:", final_result2)
Ahora, agreguemos una función para comparar la salida con un valor esperado e imprimir un mensaje que indique si la prueba pasó o falló.
-
Abre el archivo calculate_sum.py
en el editor de VS Code.
-
Modifica el script de la siguiente manera:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
def compare_output(actual_output, expected_output):
"""
This function compares the actual output with the expected output.
"""
if actual_output == expected_output:
print("Test passed!")
else:
print("Test failed. Expected:", expected_output, "Actual:", actual_output)
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
## Capture the output and perform an additional operation
final_result = result + 20
print("The final result after adding 20 is:", final_result)
## Compare the output with the expected value
expected_final_result = 50
compare_output(final_result, expected_final_result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
## Capture the output and perform an additional operation
final_result2 = result2 * 2
print("The final result after multiplying by 2 is:", final_result2)
## Compare the output with the expected value
expected_final_result2 = 10
compare_output(final_result2, expected_final_result2)
En este script modificado:
- Definimos una función llamada
compare_output
que toma dos argumentos: actual_output
y expected_output
.
- Dentro de la función, comparamos el
actual_output
con el expected_output
.
- Si son iguales, imprimimos "Test passed!".
- Si no son iguales, imprimimos "Test failed." junto con los valores esperado y real.
- Luego llamamos a la función
compare_output
con final_result
y expected_final_result
para comparar la salida del primer cálculo con el valor esperado de 50.
- También llamamos a la función
compare_output
con final_result2
y expected_final_result2
para comparar la salida del segundo cálculo con el valor esperado de 10.
-
Ejecuta el script utilizando el siguiente comando:
python ~/project/calculate_sum.py
Deberías ver la siguiente salida:
The sum of 10 and 5 is 30
The final result after adding 20 is: 50
Test passed!
The sum of 2 and 3 is 5
The final result after multiplying by 2 is: 10
Test passed!
Esta salida demuestra que puedes comparar exitosamente la salida de una función con un valor esperado y determinar si la prueba pasó o falló.