2015-11-12 16 views
0

我正在为AutoFixture构建自定义。我想用传入的IFIXture注册一个类型/实例,但前提是它尚未注册。这可能吗?检查类型是否在夹具中注册

也就是说,是否有可能检查某个特定类型/实例是否已经使用AutoFixture IFixture进行了注册?

最好的解决方法我是试图调用fixture.Create()和追赶,如果类型未注册发生ObjectCreationException。正如你可以想象的那样,这不是最优雅的解决方案,这就是为什么我在这里问一个更好的解决方案。

+0

*这是可能的吗?*不是真的......你在做什么?在6年以上的时间里,我使用了AutoFixture,我不认为我曾经需要这个功能...... –

+0

好吧,只要确保。我正在xUnit中实现ITestOutputHelper。更具体地说,我想输出在DataDiscoverer.GetData阶段发生的消息。 ICustomizer正在IFixture上设置一个ILogger接口(充当IoC)。如果一个ILogger已经注册了IFixture,我想创建一个CompositeLogger并使用它。这样,我不会覆盖任何现有的注册/功能,而是将其移入CompositeLogger中。希望这是有道理的。 :)我可以在短时间内查看一些代码,以向您展示实际的实现。 –

+0

FWIW,我最终没有使用CompositeLogger和[使用注册,而不是](https://github.com/DragonSpark/Framework/blob/4767b6fcfc1df1df84c30e7e17a6046e2af0326b/DragonSpark.Testing.Framework/OutputCustomization.cs)来获取所有已知的记录器在测试结束时测试上下文。 –

回答