https://docs.python.org/3/reference/simple_stmts.html#the-assert-statement
Simple tests can be placed in the same file as the code tested. Tests should be automated [print() is not enough].
# Content of the file fib1.py
def fibonacci(n):
old, new = 0, 1
for _ in range(n):
old, new = new, old + new
return old
if __name__ == "__main__": # we can import without tests
assert fibonacci(0) == 0
assert fibonacci(1) == 1
assert fibonacci(2) == 1
assert fibonacci(10) == 55
results = [(0, 0), (1, 1), (2, 1), (10, 55)]
for a, b in results:
assert fibonacci(a) == b
print("tests passed")
# To execute tests: $ python fib1.py tests passed