Z Intellitest można określić typ Intellitest do użycia, który pasuje do interfejsu podczas generowania testów jednostkowych, jednak mam niestandardową fabrykę, której chcę użyć.Jak określić fabrykę Intellitest powinien używać dla interfejsu?
Mam zwyczaj fabryczne:
public static partial class LogicFactory
{
/// <summary>A factory for ILogic instances</summary>
[PexFactoryMethod(typeof(ILogic))]
public static ILogic Create(string defaultUICulture, bool saveSuccessful)
{
return Mock.Of<ILogic>(
x =>
x.GetUICulture(It.IsAny<string>()) == defaultUICulture &&
x.Save(It.IsAny<string>(), It.IsAny<string>()) == saveSuccessful);
}
}
Chciałbym skorzystać z tej fabryki dla wszystkich ILogic
przypadkach PEX próbuje stworzyć.
Próbowałem dodając następujący atrybut do PexAssemblyInfo.cs i próbowałem również dodanie go powyżej mojego testu:
[assembly: PexCreatableByClassFactory(typeof(ILogic), typeof(LogicFactory))]
ale ja wciąż dostać to ostrzeżenie wykonawczego gdy instrumentacji kod:
will use Company.Logics.SpecificLogic as ILogic
I wydaje się, że za każdym razem ignoruje moją fabrykę. Jak mogę zmusić Intellitest do korzystania z mojej fabryki?
Mówisz, że nie można powiedzieć PEX, aby używał fabryki dla interfejsu bez określania konkretnego typu? –
Nie jestem świadomy tego rodzaju możliwości. Muszę jednak przyznać, że jestem całkiem świeżo z PEX. –