测试命令行输出
控制台测试
在 Masonite 单元测试中,你可以使用有用的控制台断言来测试标准控制台输出。
这里的输出是标准输出通常称为 stdout
。 这里的错误是标准错误通常称为 stderr
。
外部包或你代码中的打印可以输出内容到控制台(作为输出或错误)。
注意:如果你想通过 Masonite 命令断言内容输出,你应该使用 Commands Tests 断言。
可用的断言
以下是可用的断言:
- assertConsoleEmpty
- assertConsoleNotEmpty
- assertConsoleExactOutput
- assertConsoleOutputContains
- assertConsoleOutputMissing
- assertConsoleHasErrors
- assertConsoleExactError
- assertConsoleErrorContains
assertConsoleEmpty
断言没有任何内容被打印到控制台。
assertConsoleNotEmpty
断言有内容被打印到控制台(输出或错误)。
assertConsoleExactOutput
断言控制台标准输出等于给定的输出。
print("Success !")
self.assertConsoleExactOutput("Success !\n")
assertConsoleOutputContains
断言控制台标准输出包含给定的输出。
print("Success !")
self.assertConsoleOutputContains("Success")
assertConsoleOutputMissing
断言控制台标准输出不包含给定的输出。
print("Success !")
self.assertConsoleOutputMissing("hello")
assertConsoleHasErrors
断言有内容输出到控制台标准错误。
assertConsoleExactError
断言控制台标准错误等于给定的错误。
print("An error occured !", file=sys.stderr)
self.assertConsoleExactError("An error occured !\n")
assertConsoleErrorContains
断言控制台标准错误包含给定的错误。
print("An error occured !", file=sys.stderr)
self.assertConsoleErrorContains("error")
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。