Skip to content

WichardRiezebos/Ninject.Extensions.Perspectives

Repository files navigation

Ninject.Extensions.Perspectives

Build status NuGet

Allows to create interfaces for non-mockable classes.

Prerequisites

  • .NET Framework 4.5

Installation

Install the NuGet package using the command below:

Install-Package Ninject.Extensions.Perspectives

...or search for Ninject.Extensions.Perspectives in the NuGet index.

How does it work?

If you want to test classes without interfaces. This package is the best you can get.

For example take the System.IO.Path class:

  1. Create a new interface called IPath.cs and added the (same) methods you need of the original class.

    interface IPath 
    {
        string GetRandomFileName();
    }
    
  2. Add a perspective binding:

    using Ninject.Extensions.Perspectives;
    ...
    
    // Bindings
    kernel.Bind<IPath>().ToPerspective(typeof(Path));
    
    // Resolve
    var path = kernel.Get<IPath>();
    
    // Use
    var randomFileName = path.GetRandomFileName();
    
  3. Have fun.

What is supported?

  • Statics (e.g. System.IO.Path)
  • Instances (e.g. System.Net.Sockets.Socket)
  • Generics (e.g. System.Collections.Generic.List<>)

About

Allows to create interfaces for non-mockable classes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages