Console Tests

You can test what has been output to standard console during Masonite unit tests thanks to useful console assertions.

Output here is the standard output often named stdout. Error here is the standard error often named stderr.

External packages, prints in your code can output content in console (as output or error).

If you want to assert content output by a Masonite command you should use Commands Tests assertions instead.

Available Assertions

The following assertions are available:

assertConsoleEmpty

Assert that nothing has been printed to the console.

assertConsoleNotEmpty

Assert that something has been printed to the console (output or error).

assertConsoleExactOutput

Assert that console standard output is equal to given output.

print("Success !")
self.assertConsoleExactOutput("Success !\n")

assertConsoleOutputContains

Assert that console standard output contains given output.

print("Success !")
self.assertConsoleOutputContains("Success")

assertConsoleOutputMissing

Assert that console standard output does not contain the given output.

print("Success !")
self.assertConsoleOutputMissing("hello")

assertConsoleHasErrors

Assert that something has been output to console standard error.

assertConsoleExactError

Assert that console standard error is equal to given error.

print("An error occured !", file=sys.stderr)
self.assertConsoleExactError("An error occured !\n")

assertConsoleErrorContains

Assert that console standard error contains given error.

print("An error occured !", file=sys.stderr)
self.assertConsoleErrorContains("error")

Last updated