Unit Testing/Pytest/Test Exceptions
Appearance
< Unit Testing | Pytest
Create a Python Program
[edit | edit source]Create the following Python program. Save it as multiply.py
def multiply(x, y):
result = x * y
return result
def main():
multiplicand = float(input("Enter a multiplicand: "))
multiplier = float(input("Enter a multiplier: "))
product = multiply(multiplicand, multiplier)
print(f"The product is: {product}")
if __name__ == "__main__":
main()
Create a Test Program
[edit | edit source]Create the following Pytest test program. Save it as test_multiply.py
import pytest
import multiply
def test_invalid_input():
input_values = [
"2",
"X"
]
def input(prompt=None):
return input_values.pop(0)
multiply.input = input
with pytest.raises(ValueError):
multiply.main()
Test Success
[edit | edit source]Test the program by running pytest in a terminal or command prompt in the same folder as the two programs above and observe the results.
pytest
Test Failure
[edit | edit source]Change the test source code somehow, such as replacing the invalid input with valid input. Test the program by running pytest again and observe the results.