pytest_notes
Table of Contents
test a function that writes output to a file
$ cat write_file.py def write_to_file(fname): with open(fname, 'w') as FileObj: FileObj.write('Hello\n') def test_write_to_file(tmpdir): file = tmpdir.join('output.txt') write_to_file(file) contents_got = file.read() contents_expected = 'Hello\n' assert contents_got == contents_expected
$ python -m pytest write_file.py
Ref:
test a script that prints to stdout
tags | python test case for print
snippet 1:
def test_foo(capsys): ... captured = capsys.readouterr() ... assert captured.out == expected_output
snippet 2:
out, error = capsys.readouterr()
Ref:-
- See https://docs.pytest.org/en/stable/capture.html#accessing-captured-output-from-a-test-function for help on how capsys works in pytest.
- https://stackoverflow.com/a/56300627/6305733 - contains a simple example; shows how to use capsys with pytest as well as with unittest; I first came across capsys here.
- my usages:
- https://github.com/KamarajuKusumanchi/rutils/blob/master/python3/tests/lib/test_DataFrameUtils.py - tests dataframe printed to stdout
- https://github.com/KamarajuKusumanchi/rutils/blob/master/python3/tests/test_get_column_names.py - I used capsys for the first time here
run pytest on the current file from the current file
tags | run pytest from main function, pytest run parameterized test
pytest_notes.txt · Last modified: 2023/02/15 21:58 by raju