Skip to content

MatrTech/Utilities.Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MatrTech.Utilities.Test

This package provides some utilities to make it easier to test in C#. For starters it provides a lightweight dependency factory to manage all the tests dependencies. Making it easily and safe to register and replace dependencies within each test. Which provides proper state to test against.

Installing

The package is easily installed using nuget.

Install-Package MatrTech.Utilities.Test

Using the package

using namespace Matr.Test;

That's it, now you can use the package.

MSTest

[TestClass]
public class TestClass : TestBase
{
    ...
}

NUnit

public class TestClass : TestBase
{
    ...
}

XUnit

Not yet implemented.

Package in action

Registering dependencies

MSTest

[TestInitialize]
public void TestInitialize()
{
    factory.RegisterOrReplace(new Mock<ITestDependency>().Object);
}

NUnit

[SetUp]
public void Init()
{
    factory.RegisterOrReplace(new Mock<ITestDependency>().Object);
}

XUnit

Not yet implemented.

Using in tests

MSTest

[TestMethod]
public void TestMethod()
{
    // Setup test specifc dependencies.
    var mockedDependency = new Mock<ITestDependency>();
    
    // Mock functionality specific to the test.
    mockedDependency.Setup(...).Returns(...);

    // Register test specifc dependencies.
    factory.RegisterOrReplace(mockedDependency.Object);
    
    // Create your service with the Create method.
    // This will resolve all dependencies.
    var serviceToTest = factory.Create<ServiceToTest>();
    
    var result = serviceToTest.MethodToTest();

    Assert.Equal(result, expectedValue);
}

NUnit

Same goes for NUnit

[Test]
public void TestMethod()
{
    // Setup test specifc dependencies.
    var mockedDependency = new Mock<ITestDependency>();
    
    // Mock functionality specific to the test.
    mockedDependency.Setup(...).Returns(...);

    // Register test specifc dependencies.
    factory.RegisterOrReplace(mockedDependency.Object);
    
    // Create your service with the Create method.
    // This will resolve all dependencies.
    var serviceToTest = factory.Create<ServiceToTest>();
    
    var result = serviceToTest.MethodToTest();

    Assert.Equal(result, expectedValue);
}

XUnit

Not yet implemented.

Coming soon

  • XUnit implementation
  • JsonTestSource

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages