Con Intellitest è possibile specificare un tipo per Intellitest da utilizzare che si adatta a un'interfaccia durante la generazione di test di unità, tuttavia ho una fabbrica personalizzata che desidero utilizzare al suo posto.Come posso specificare che Intellitest deve essere utilizzato per un'interfaccia?
mia fabbrica su misura:
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);
}
}
Vorrei utilizzare questa fabbrica per tutte le istanze ILogic
PEX cerca di creare.
Ho provato ad aggiungere il seguente attributo al PexAssemblyInfo.cs, e ho anche provato ad aggiungere sopra il mio test:
[assembly: PexCreatableByClassFactory(typeof(ILogic), typeof(LogicFactory))]
ma ho ancora questo avvertimento runtime quando la strumentazione di codice:
will use Company.Logics.SpecificLogic as ILogic
E così sembra che stia ignorando la mia fabbrica ogni volta. Come posso costringere Intellitest a usare la mia fabbrica invece?
Quindi stai dicendo che non è possibile dire PEX di utilizzare una fabbrica per un'interfaccia senza specificare un tipo concreto? –
Non sono a conoscenza di questo tipo di possibilità. Tuttavia, devo ammettere che sono abbastanza fresco con PEX. –