Skip to content

Latest commit

 

History

History
125 lines (91 loc) · 3.78 KB

File metadata and controls

125 lines (91 loc) · 3.78 KB

NetEvolve.ProjectBuilders.XUnit

NuGet Version NuGet Downloads License

Test utilities for xUnit-based .NET projects, providing helpers for temporary directory management and test environment setup.

Features

  • Temporary directory management for integration tests
  • Utilities for test environment setup and teardown
  • Seamless integration with xUnit test framework

Installation

NuGet Package Manager

Install-Package NetEvolve.ProjectBuilders.XUnit

.NET CLI

dotnet add package NetEvolve.ProjectBuilders.XUnit

PackageReference

<PackageReference Include="NetEvolve.ProjectBuilders.XUnit" />

Quick Start

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")));
    }
}

Usage

Basic Example

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));
    }
}

Requirements

  • .NET 8.0 or higher
  • xUnit

Related Packages

Documentation

For complete documentation, please visit the official documentation.

Contributing

Contributions are welcome! Please read the Contributing Guidelines before submitting a pull request.

Support

License

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.