@@ -30,26 +30,45 @@ def example_json():
3030 return data
3131
3232
33- def test_read_lines (example_lines ):
33+ @pytest .fixture ("module" )
34+ def fake_filename ():
35+ filename = 'aaaaa.txt'
36+ if os .path .exists (filename ):
37+ os .remove (filename )
38+ return filename
39+
40+
41+ def test_read_lines (example_lines , fake_filename ):
3442 filename = TEST_DATA_DIR + 'a.txt'
3543 lines = read_lines (filename )
3644 assert lines == example_lines
3745 skip_lines = read_lines (filename , skip_empty = True )
3846 assert skip_lines == [l for l in example_lines if l ]
3947 assert read_lines (TEST_DATA_DIR + 'a.txt.gbk' , 'gbk' ) == ['你好' , '这是一个例子。' ]
48+ assert read_lines (fake_filename , default = []) == []
49+ with pytest .raises (FileNotFoundError ):
50+ read_lines (fake_filename )
4051
4152
42- def test_read (example_lines ):
53+ def test_read (example_lines , fake_filename ):
4354 filename = TEST_DATA_DIR + 'a.txt'
4455 text = read_file (filename )
4556 true_text = '\n ' .join (example_lines )
4657 assert text == true_text
4758
59+ assert read_file (fake_filename , default = '' ) == ''
60+ with pytest .raises (FileNotFoundError ):
61+ read_file (fake_filename )
62+
4863
4964def test_read_json ():
5065 read_json (TEST_DATA_DIR + 'a.json' )
5166
5267
68+ def test_read_jsonline (example_json , fake_filename ):
69+ assert read_jsonline (TEST_DATA_DIR + 'a.jsonl' ) == example_json
70+
71+
5372def test_write_lines (example_lines ):
5473 dirname = tempfile .gettempdir () + '/'
5574 filename = dirname + 'a.txt'
0 commit comments