Если целью вашего теста является проверка того, что файл действительно создан, то это интеграционный тест, а не модульный тест.
Если цель состоит в том, чтобы проверить, что правильные вещи записаны в файл, скрыть доступ к файлу за интерфейсом и обеспечить реализацию в памяти.
То же самое верно для доступа к веб-странице.
interface IFileService
{
Stream CreateFile(string filename);
}
class InMemoryFileService : IFileService
{
private Dictionary<string, MemoryStream> files = new Dictionary<string, MemoryStream>();
public Stream CreateFile(string filename)
{
MemoryStream stream = new MemoryStream();
files.Add(filename, stream);
return stream;
}
public MemoryStream GetFile(string filename)
{
return files[filename];
}
}
Используя GetFile, вы можете найти то, что должно быть записано на диск.