Logging¶
Logs¶
lemoncheesecake provides logging functions that give the user the ability to log information beyond the checks:
log_debug(msg)
log_info(msg)
log_warn(msg)
log_error(msg)
: this log will mark the test as failedlog_url(url[, description])
Example:
lcc.log_debug("Some debug message")
lcc.log_info("More important, informational message")
lcc.log_warning("Something looks abnormal")
lcc.log_error("Something bad happened")
lcc.log_url("http://example.com", "Example dot com")
Note
Changed in version 1.10.0.
Debug logs are not displayed by default in the HTML report nor by the lcc report
command,
unless you check the appropriate checkbox or use the --debug
argument respectively. It makes
the debug log level particularly useful if you want less-important information to be not displayed
by default to the report reader.
Steps¶
Steps provide a way to organize your logs and checks within logical steps:
lcc.set_step("Prepare stuff for test")
value = 42
lcc.log_info("Retrieve data for %d" % value)
data = some_function_that_provide_data(value)
lcc.log_info("Got data: %s" % data)
lcc.set_step("Check data")
check_that_in(
actual,
"foo", equal_to(21),
"bar", equal_to(42)
)
Attachments¶
Within a test, you also have the possibility to attach files to the report:
lcc.save_attachment_file(filename, "file.pdf")
The file will be copied into the report dir and is prefixed by a unique value, making it possible to save multiple times an attachment with the same base file name. The attachment description is optional.
There are other ways to save attachment files depending on your needs.
If the file you want to save is loaded in memory:
lcc.save_attachment_content(data, "file.pdf", "PDF file")
save_attachment_content
looks for the type of the data
argument to know whether or not the file must be opened
in binary mode.
If you need the effective file path to write into:
with lcc.prepare_attachment("file.pdf", "PDF file") as filename:
with open(filename, "w") as fh:
fh.write(image_data)
Each of these three functions as a corresponding function for image attachment:
save_image_file
save_image_content
prepare_image_attachment
In that case, the attached file will be considered as an image and will be displayed inline in the HTML report.