RhinoMocks 和泛型的问题

发布于 2024-09-14 02:25:49 字数 719 浏览 3 评论 0原文

这是我的测试代码:

var container = MockRepository.GenerateMock<UnityContainer>();
container.Expect(e => e.RegisterType<IEventAggregator, EventAggregator>(
   Arg<ContainerControlledLifetimeManager>.Is.Anything));

基本上,我将断言采用 IUnityContainer 接口的类以预期的方式设置容器。

问题是 RhinoMocks 认为我正在尝试在容器上调用此方法:

RegisterType(Type from, Type to, String name, 
   LifetimeManager lifetimeManager, InjectionMember[] injectionMembers)

但是如果我在 Visual Studio 中“转到定义”,它会转到正确的位置:

RegisterType<TFrom, TTo>(LifetimeManager lifetimeManager, 
   params InjectionMember[] injectionMembers)

我需要做什么才能正确模拟此方法?

谢谢, 贾森

Here's my test code:

var container = MockRepository.GenerateMock<UnityContainer>();
container.Expect(e => e.RegisterType<IEventAggregator, EventAggregator>(
   Arg<ContainerControlledLifetimeManager>.Is.Anything));

Basically I'm going to assert that a class that takes a IUnityContainer interface sets up the container in an expected way.

The problem is that RhinoMocks thinks I'm trying to call this method on the container:

RegisterType(Type from, Type to, String name, 
   LifetimeManager lifetimeManager, InjectionMember[] injectionMembers)

But if I "go to definition" in Visual Studio, it goes to the right place:

RegisterType<TFrom, TTo>(LifetimeManager lifetimeManager, 
   params InjectionMember[] injectionMembers)

What's the magic sauce I need to do to get this mocked correctly?

Thanks,
Jason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最美的太阳 2024-09-21 02:25:49

RegisterType 是 UnityContainerExtensions 的扩展。难怪我无法嘲笑它!

RegisterType is an extension from UnityContainerExtensions. No wonder I couldn't mock it!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文