Jack Ukleja
Jack Ukleja

Reputation: 13521

Autofixture: How to create instance of type without using generic method

Autofixture has the ability to create an instance of any type using the Fixture.Create<T>() method.

But I need to create a type at runtime. By default the non-generic Fixture.Create() expects a 'seed', which is not what I want.

How do I create an instance of a given type at runtime?

Upvotes: 8

Views: 4096

Answers (1)

Jack Ukleja
Jack Ukleja

Reputation: 13521

By looking through the Autofixture source code I worked out I can do it like so:

var fixture = new Fixture();
Type type = ... // My runtime type
var instance = fixture.Create(type, new SpecimenContext(fixture));

Not sure if it's the best way, but it seems to work.

Upvotes: 15

Related Questions