Unit Testing/Pytest/Test Input
< 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 multiply
def test_input():
input_values = [
"2",
"2"
]
def input(prompt=None):
return input_values.pop(0)
multiply.input = input
assert multiply.main() == None
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 one of the input numeric values with characters. Test the program by running pytest again and observe the results.