Как правило, в модульном тестировании хорошей идеей является, чтобы вы максимально имитировали исходную функциональность, охватывая как можно большую часть тестируемого кода (покрытие кода). Помимо заглушек, с которыми я не знаком, примером может быть то, что вы хотите убедиться, что, если указано неправильное имя файла, и т.д., строка 3 в вашем файле:
if (openfile (rStrFileName) == successfull)
тогда вы точно справитесь с этой ситуацией и вернете false. Если это может быть сделано заглушками, то пусть будет так. В моем случае я бы использовал образец тестового файла и сохранил его вместе со своими тестами. Это обычная практика.
Помните, что весь смысл в том, чтобы протестировать функцию как можно ближе к реальности. Это обеспечит автоматическое обнаружение множества странных случаев, которые вы не можете предвидеть, чтобы вы могли исправить это, что является точкой начала модульного тестирования.