Moq auto mocking integration for Autofac.
Please file issues and pull requests for this package in this repository rather than in the Autofac core repo.
⚠️ LOOKING FOR AN OWNER! This package is largely in maintenance mode - if you'd like to help the community out and pull it out of maintenance mode, come drop us a line!
Given you have a system under test and a dependency:
public class SystemUnderTest
{
public SystemUnderTest(IDependency dependency)
{
}
}
public interface IDependency
{
}
When writing your unit test, use the Autofac.Extras.Moq.AutoMock
class to instantiate the system under test. Doing this will automatically inject a mock dependency into the constructor for you. At the time you create the AutoMock
factory, you can specify default mock behavior:
AutoMock.GetLoose()
- creates automatic mocks using loose mocking behavior.AutoMock.GetStrict()
- creates automatic mocks using strict mocking behavior.AutoMock.GetFromRepository(repo)
- creates mocks based on an existing configured repository.
[Test]
public void Test()
{
using (var mock = AutoMock.GetLoose())
{
// The AutoMock class will inject a mock IDependency
// into the SystemUnderTest constructor
var sut = mock.Create<SystemUnderTest>();
}
}
Need help with Autofac? We have a documentation site as well as API documentation. We're ready to answer your questions on Stack Overflow or check out the discussion forum.