Я пытаюсь «высмеять» некоторые вещи в моем модульном тестировании C-проекта. Я использую платформу Check для тестирования, и у меня есть функция, которая читает содержимое файла на диске для проверки содержимого.
Моя функция:
#include "verifier.h"
#include <stdio.h>
int verify_content(char *path, char *verify_string) {
File *fptr
fptr = fopen(path, "r")
// Do verification
return 0
и мой тест
START_TEST (verify_content_test)
{
char *test_path = "test_path";
char *test_string = "unique_string_content_here";
ck_assert_str_eq(verify_content(test_path, test_string), 0);
}
END_TEST
Однако я не хочу, чтобы это читалось с диска, потому что это было бы медленно, и мне пришлось бы иметь несколько статических файлов только для тестирования.
Есть лиспособ «подделать» / «подделать» fopen?
Я все еще новичок в разработке на C и очень плохо знаком с модульным тестированием на C, поэтому, если я должен подойти к этой проблеме по-другому, пожалуйста, укажите мне правильное направление.