Moq.AutoMock 3.6.0-ci0745

Moq.AutoMock Continuous NuGet Status

An automocking container for Moq. Use this if you're invested in your IoC container and want to decouple your unit tests from changes to their constructor arguments.

Usage

Simplest usage is to build an instance that you can unit test.

var mocker = new AutoMocker();
var car = mocker.CreateInstance<Car>();

car.DriveTrain.ShouldNotBeNull();
car.DriveTrain.ShouldImplement<IDriveTrain>();
Mock<IDriveTrain> mock = Mock.Get(car.DriveTrain);

If you have a special instance that you need to use, you can register it with .Use(...). This is very similar to registrations in a regular IoC container (i.e. For<IService>().Use(x) in StructureMap).

var mocker = new AutoMocker();

mocker.Use<IDriveTrain>(new DriveTrain());
// OR, setup a Mock
mocker.Use<IDriveTrain>(x => x.Shaft.Length == 5);

var car = mocker.CreateInstance<Car>();

Extracting Mocks

At some point you might need to get to a mock that was auto-generated. For this, use the .Get<>() or .GetMock<>() methods.

var mocker = new AutoMocker();

// Let's say you have a setup that needs verifying
mocker.Use<IDriveTrain>(x => x.Accelerate(42) == true);

var car = mocker.CreateInstance<Car>();
car.Accelerate(42);

// Then extract & verify
var driveTrainMock = mocker.GetMock<IDriveTrain>();
driveTrainMock.VerifyAll();

Alternately, there's an even faster way to verify all mocks in the container:

var mocker = new AutoMocker();
mocker.Use<IDriveTrain>(x => x.Accelerate(42) == true);

var car = mocker.CreateInstance<Car>();
car.Accelerate(42);

// This method verifies all mocks in the container
mocker.VerifyAll();

No packages depend on Moq.AutoMock.

.NET Standard 2.0

Version Downloads Last updated
4.0.3 12 09/29/2026
4.0.3-ci1016 0 10/19/2026
4.0.3-ci1014 2 10/18/2026
4.0.3-ci1012 3 10/17/2026
4.0.3-ci0988 8 09/29/2026
4.0.3-ci0961 9 09/29/2026
4.0.3-ci0958 11 09/29/2026
4.0.3-ci0956 9 09/29/2026
4.0.3-ci0935 9 09/29/2026
4.0.3-ci0933 10 09/29/2026
4.0.3-ci0926 9 09/29/2026
4.0.3-ci0925 8 09/29/2026
4.0.3-ci0924 10 09/29/2026
4.0.3-ci0923 9 09/29/2026
4.0.3-ci0911 7 09/29/2026
4.0.3-ci0909 10 09/29/2026
4.0.3-ci0905 10 09/29/2026
4.0.3-ci0895 7 09/29/2026
4.0.3-ci0893 8 09/29/2026
4.0.3-ci0890 8 09/29/2026
4.0.3-ci0882 7 09/29/2026
4.0.3-ci0880 10 09/29/2026
4.0.3-ci0864 8 09/29/2026
4.0.2 11 09/29/2026
4.0.1 10 09/29/2026
4.0.1-ci0862 7 09/29/2026
4.0.1-ci0855 8 09/29/2026
4.0.1-ci0854 8 09/29/2026
4.0.1-ci0852 8 09/30/2026
4.0.1-ci0846 7 09/29/2026
4.0.1-ci0841 9 09/29/2026
4.0.0 9 09/29/2026
4.0.0-ci0833 9 09/29/2026
4.0.0-ci0828 8 09/29/2026
4.0.0-ci0823 9 09/29/2026
4.0.0-ci0820 11 09/29/2026
3.6.2-ci0814 8 09/29/2026
3.6.2-ci0808 9 09/29/2026
3.6.2-ci0796 10 09/29/2026
3.6.2-ci0793 9 09/29/2026
3.6.2-ci0790 7 09/29/2026
3.6.2-ci0779 10 09/29/2026
3.6.2-ci0768 9 09/29/2026
3.6.1 11 09/30/2026
3.6.1-ci0761 9 09/29/2026
3.6.0 12 09/29/2026
3.6.0-ci0759 9 09/29/2026
3.6.0-ci0756 8 09/29/2026
3.6.0-ci0745 10 09/29/2026
3.6.0-ci0737 8 09/29/2026
3.6.0-ci0734 8 09/29/2026
3.6.0-ci0731 9 09/29/2026
3.6.0-ci0729 6 09/30/2026
3.6.0-ci0726 9 09/29/2026
3.6.0-ci0724 10 09/29/2026
3.6.0-ci0722 9 09/29/2026
3.6.0-ci0720 9 09/29/2026
3.6.0-ci0717 7 09/30/2026
3.6.0-ci0713 10 09/29/2026
3.6.0-ci0596 8 09/29/2026
3.6.0-ci0594 7 09/29/2026
3.6.0-ci0592 10 09/30/2026
3.6.0-ci0590 9 09/29/2026
3.6.0-ci0546 10 09/29/2026
3.6.0-ci0544 8 09/29/2026
3.6.0-ci0539 8 09/29/2026
3.6.0-ci0532 11 09/29/2026
3.5.0 10 09/28/2026
3.5.0-ci0332 11 09/29/2026
3.5.0-ci0331 10 09/29/2026
3.5.0-ci0287 7 09/29/2026
3.5.0-ci0285 8 09/29/2026
3.4.0 11 09/29/2026
3.4.0-ci0283 10 09/29/2026
3.4.0-ci0280 9 09/29/2026
3.4.0-ci0278 10 09/29/2026
3.4.0-ci0274 9 09/29/2026
3.4.0-ci0270 7 09/29/2026
3.4.0-ci0265 10 09/29/2026
3.4.0-ci0259 8 09/29/2026
3.4.0-ci0252 9 09/29/2026
3.3.1-ci0247 10 09/29/2026
3.3.1-ci0245 7 09/29/2026
3.3.1-ci0242 6 09/29/2026
3.3.0 11 09/29/2026
3.3.0-ci0240 9 09/29/2026
3.3.0-ci0221 8 09/29/2026
3.2.0 9 09/29/2026
3.2.0-ci0219 7 09/29/2026
3.2.0-ci0217 8 09/29/2026
3.2.0-ci0214 8 09/29/2026
3.2.0-ci0207 8 09/29/2026
3.2.0-ci0205 9 09/29/2026
3.1.0 8 09/29/2026
3.0.0 9 09/30/2026
3.0.0-ci0203 8 09/29/2026
3.0.0-ci0198 10 09/29/2026
3.0.0-ci0195 8 09/30/2026
3.0.0-ci0192 11 09/29/2026
3.0.0-ci0183 9 09/29/2026
3.0.0-ci0177 8 09/29/2026
3.0.0-ci0170 8 09/29/2026
3.0.0-ci0168 11 09/29/2026
3.0.0-ci0164 8 09/29/2026
3.0.0-ci0155 7 09/29/2026
3.0.0-ci0146 10 09/29/2026
3.0.0-ci0145 8 09/29/2026
2.3.0 10 09/29/2026
2.3.0-ci0136 7 09/29/2026
2.2.0.124 9 09/29/2026
2.2.0.123-ci 10 09/29/2026
2.2.0.120-ci 9 09/29/2026
2.2.0.115-ci 9 09/29/2026
2.2.0.113-ci 8 09/29/2026
2.1.0.104-ci 10 09/29/2026
2.1.0.99-ci 10 09/29/2026
2.1.0 9 09/29/2026
2.1.0-ci0019 8 09/29/2026
2.0.1 9 09/29/2026
2.0.1-ci0017 8 09/29/2026
2.0.0 10 09/29/2026
2.0.0-ci0015 6 09/29/2026
2.0.0-ci0014 8 09/30/2026
2.0.0-ci0012 8 09/29/2026
2.0.0-ci0011 9 09/29/2026
1.2.0.131-pre 10 09/29/2026
1.2.0.128-pre 8 09/29/2026
1.2.0.127-pre 9 09/30/2026
1.2.0.122-pre 8 09/29/2026
1.2.0.120 9 09/29/2026
1.2.0.118-pre 11 09/29/2026
1.2.0.116-pre 9 09/29/2026
1.2.0.113-pre 9 09/30/2026
1.2.0.111 10 09/29/2026
1.2.0.109-pre 9 09/29/2026
1.1.0.107-pre 10 09/29/2026
1.1.0.105-pre 8 09/29/2026
1.1.0.104-pre 9 09/29/2026
1.1.0.96 9 09/29/2026
1.1.0.94-pre 8 09/29/2026
1.1.0.92-pre 8 09/29/2026
1.1.0.85-pre 10 09/29/2026
1.1.0.68-pre 10 09/29/2026
1.0.60 10 09/30/2026
1.0.56-pre 12 09/29/2026
1.0.52-pre 7 09/29/2026
1.0.48-pre 10 09/29/2026
1.0.44-pre 9 09/29/2026
1.0.41-pre 10 09/29/2026
1.0.38-pre 9 09/29/2026
1.0.35-pre 9 09/29/2026
1.0.32-pre 8 09/29/2026
0.4.0 8 09/29/2026
0.3.2.1 9 09/29/2026
0.3.2 9 09/29/2026
0.3.1 9 09/29/2026
0.3.0 8 09/29/2026
0.2.2 10 09/29/2026
0.2.1 10 09/30/2026
0.2.0 10 09/29/2026
0.1.0 9 09/29/2026