【发布时间】:2016-06-06 21:57:55
【问题描述】:
使用 Intellitetest,您可以在生成单元测试时指定 Intellitetest 使用的适合接口的类型,但是我有一个我希望使用的自定义工厂。
我的自定义工厂:
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);
}
}
我想将此工厂用于 PEX 尝试创建的所有 ILogic 实例。
我尝试将以下属性添加到 PexAssemblyInfo.cs,并且我还尝试将其添加到我的测试上方:
[assembly: PexCreatableByClassFactory(typeof(ILogic), typeof(LogicFactory))]
但在检测代码时我仍然收到此运行时警告:
will use Company.Logics.SpecificLogic as ILogic
所以它似乎每次都无视我的工厂。如何强制 Intellitetest 使用我的工厂?
【问题讨论】:
标签: c# moq pex intellitest