1
0
mirror of https://github.com/240596448/onec_codetemplate_parser.git synced 2025-11-23 21:34:39 +02:00

проверка на каждый файл

This commit is contained in:
Vladimir Nadulich
2025-11-02 23:35:44 +03:00
parent 1c0003a015
commit 91dc563a14
3 changed files with 16 additions and 9 deletions

View File

@@ -34,14 +34,19 @@ def test_data(test_file_path):
def temp_src_class(tmp_path_factory): def temp_src_class(tmp_path_factory):
""" """
Создаёт временную папку 'src' для класса тестов. Создаёт временную папку 'src' для класса тестов.
Папка автоматически удаляется после теста.
""" """
return tmp_path_factory.mktemp("src") return tmp_path_factory.mktemp("src")
@pytest.fixture() @pytest.fixture()
def temp_src(tmp_path): def temp_src(tmp_path):
""" """
Создаёт временную папку 'src' для теста. Создаёт временную папку 'src' для каждого теста.
Папка автоматически удаляется после теста.
""" """
return tmp_path / "src" return tmp_path / "src"
@pytest.fixture()
def temp_output_st(tmp_path):
"""
Создаёт временный файл для вывода каждого теста.
"""
return tmp_path / "output.st"

View File

@@ -8,13 +8,14 @@ class Test_API:
parse_to_src(str(test_file_path), str(temp_src)) parse_to_src(str(test_file_path), str(temp_src))
if test_file_path.stat().st_size > 6: if test_file_path.stat().st_size > 6:
assert folder_is_empty(temp_src), f"Папка src пустая {temp_src}" assert folder_is_empty(temp_src), f"Папка src пустая {temp_src}"
assert folder_contains_files(temp_src), f"В папке нет ни одного файла {temp_src}"
else: else:
assert not folder_is_empty(temp_src), f"Для пустого файла что-то распарсилось {temp_src}" assert not folder_is_empty(temp_src), f"Для пустого файла что-то распарсилось {temp_src}"
def test_render(self, temp_src, tmp_path): def test_render(self, test_file_path, temp_src, tmp_path):
"""Тест библиотеки: сборка""" """Тест библиотеки: сборка"""
parse_to_src(str(test_file_path), str(temp_src))
temp_file = tmp_path / "output.st" temp_file = tmp_path / "output.st"
render_from_src(str(temp_src), str(temp_file)) render_from_src(str(temp_src), str(temp_file))
assert temp_file.exists(), f"Файл сборки не создан {temp_file}" assert temp_file.exists(), f"Файл сборки не создан {temp_file}"
assert test_file_path.read_text(encoding='utf-8-sig') == temp_file.read_text(encoding='utf-8-sig'), 'Собранный файл не совпадает с исходным'

View File

@@ -34,8 +34,9 @@ class Test_CLI:
result = runner.invoke(app, ["parse", str(test_file_path), str(temp_src)]) result = runner.invoke(app, ["parse", str(test_file_path), str(temp_src)])
assert result.exit_code == 0, result.stdout + result.stderr assert result.exit_code == 0, result.stdout + result.stderr
def test_render_command(self, test_file_path, temp_src): def test_render_command(self, test_file_path, temp_src, temp_output_st):
"""Тест выполнения команды сборки""" """Тест выполнения команды сборки"""
result = runner.invoke(app, ["render", str(test_file_path), str(temp_src)], catch_exceptions=False) runner.invoke(app, ["parse", str(test_file_path), str(temp_src)])
result = runner.invoke(app, ["render", str(temp_output_st), str(temp_src)], catch_exceptions=False)
assert result.exit_code == 0, result.stdout + result.stderr assert result.exit_code == 0, result.stdout + result.stderr
assert test_file_path.read_text(encoding='utf-8-sig') == temp_output_st.read_text(encoding='utf-8-sig'), 'Собранный файл не совпадает с исходным'