Nie ma sposobu, aby to zrobić globalnie (lub statycznie).
Zazwyczaj tworzę klasę TestConventions
zawierającą wszystkie dostosowania, które chcę zastosować do każdego testu.
internal class TestConventions : CompositeCustomization
{
public TestConventions() :
base(
new MongoObjectIdCustomization())
{
}
private class MongoObjectIdCustomization : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Register(ObjectId.GenerateNewId);
}
}
}
I wtedy zastosować te konwencje do każdego testu:
var fixture = new Fixture().Customize(new TestConventions());
Jeśli używasz AutoFixture.XUnit2 (lub AutoFixture.NUnit) wtyczki, można zmniejszyć tę boilerplate poprzez zdefiniowanie atrybutu który importuje konwencje testy:
public class MyProjectAutoDataAttribute : AutoDataAttribute
{
public MyProjectAutoDataAttribute() : base(
new Fixture().Customize(new TestConventions()))
{
}
}
a następnie zastosować go do testów:
[Theory, MyProjectAutoData]
public void SomeFact(SomeClass sut)
{
}