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

3.3k views Asked by At

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?

1

There are 1 answers

0
Jack Ukleja On

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.