Test utilities for xUnit-based .NET projects, providing helpers for temporary directory management and test environment setup.
- Temporary directory management for integration tests
- Utilities for test environment setup and teardown
- Seamless integration with xUnit test framework
Install-Package NetEvolve.ProjectBuilders.XUnitdotnet add package NetEvolve.ProjectBuilders.XUnit<PackageReference Include="NetEvolve.ProjectBuilders.XUnit" />using NetEvolve.ProjectBuilders.XUnit;
using Xunit;
public class MyTests : IClassFixture<TemporaryDirectoryFixture>
{
private readonly TemporaryDirectoryFixture _fixture;
public MyTests(TemporaryDirectoryFixture fixture)
{
_fixture = fixture;
}
[Fact]
public void TestCreateFile()
{
// Create a file in the temporary directory
using var stream = _fixture.CreateFile("test.txt");
stream.WriteByte(42);
string filePath = _fixture.GetFilePath("test.txt");
Assert.True(File.Exists(filePath));
}
[Fact]
public void TestCreateDirectory()
{
var subDir = _fixture.CreateDirectory("sub");
Assert.True(Directory.Exists(Path.Combine(_fixture.FullPath, "sub")));
}
}public class ExampleTests : IClassFixture<TemporaryDirectoryFixture>
{
private readonly TemporaryDirectoryFixture _fixture;
public ExampleTests(TemporaryDirectoryFixture fixture)
{
_fixture = fixture;
}
[Fact]
public void TestDirectoryAndFiles()
{
// Use _fixture.FullPath for test files
var subDir = _fixture.CreateDirectory("sub");
using var file = _fixture.CreateFile("sample.txt");
file.WriteByte(99);
string filePath = _fixture.GetFilePath("sample.txt");
Assert.True(File.Exists(filePath));
}
}- .NET 8.0 or higher
- xUnit
- NetEvolve.ProjectBuilders - Core project builder utilities
- NetEvolve.ProjectBuilders.TUnit - Test utilities for TUnit
For complete documentation, please visit the official documentation.
Contributions are welcome! Please read the Contributing Guidelines before submitting a pull request.
- Issues: Report bugs or request features on GitHub Issues
- Documentation: Read the full documentation at https://github.com/dailydevops/projectbuilders
This project is licensed under the MIT License - see the LICENSE file for details.
Note
Made with ❤️ by the NetEvolve Team Visit us at https://www.daily-devops.net for more information about our services and solutions.