Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 1.05 KB

File metadata and controls

64 lines (49 loc) · 1.05 KB

IO0003. Replace Directory class with IFileSystem.Directory for improved testability

Topic Value
Id IO0003
Severity Warning
Enabled True
Category System.IO.Abstractions

Description

Replace Directory class with IFileSystem.Directory for improved testability

Code with Diagnostic

using System.IO.Abstractions;

namespace SomeNameSpace
{
	public class WithOutFileSystem
	{
		private readonly IFileSystem _fileSystem;

		public WithOutFileSystem(IFileSystem fileSystem)
		{
			_fileSystem = fileSystem;
		}

		public void SomeMethod()
		{
			const string filePath = "C:\\temp";

			Directory.Exists(filePath);
		}
	}
}

Code with Fix

using System.IO.Abstractions;

namespace SomeNameSpace
{
	public class WithOutFileSystem
	{
		private readonly IFileSystem _fileSystem;

		public WithOutFileSystem(IFileSystem fileSystem)
		{
			_fileSystem = fileSystem;
		}

		public void SomeMethod()
		{
			const string filePath = "C:\\temp";

			_fileSystem.Directory.Exists(filePath);
		}
	}
}