1

moq フレームワーク ( https://code.google.com/p/moq/ ) を使用していくつかのテストを作成する必要があります。ASP.NET アプリケーションのテレリック テキスト ボックスから値を正しく読み取れるかどうかを確認したいと考えています。したがって、テレリック テキスト ボックスをモックし、このモックをパラメーターとして SUT のメソッドに渡して、正しく読み取られるかどうかを確認します。

検討:

var telerikFake = new Mock<RadNumericTextBox>();
telerikFake.Setup(x => x.Text).Returns("23,456");
var result = telerikFake.Object; //The exception comes from inside the telerikFake.Object property implementation

telerikFake.Object プロパティにアクセスすると、次のスタック トレースで NullReferenceException が発生します。

at Castle.DynamicProxy.AttributeUtil.<GetNonInheritableAttributes>d__0.MoveNext()
   at Castle.DynamicProxy.Contributors.ClassProxyInstanceContributor.Generate(ClassEmitter class, ProxyGenerationOptions options)
   at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope)
   at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options)
   at Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
   at Castle.DynamicProxy.ProxyGenerator.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
   at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors)
   at Moq.Proxy.CastleProxyFactory.CreateProxy[T](ICallInterceptor interceptor, Type[] interfaces, Object[] arguments)
   at Moq.Mock`1.<InitializeInstance>b__0()
   at Moq.PexProtector.Invoke(Action action)

どのような状況でmoqフレームワークのMock.Objectメソッドがこのエラーにつながるかについてのヒントはありますか?

MoQ の問題リストでチケットを見つけました: http://code.google.com/p/moq/issues/detail?id=326。この問題をすぐに修正できる開発者はいますか? チケットは2011年に作成されました。

よろしく、マイケル

4

0 に答える 0