Skip to content

Mock.Of<T> fails with exception 'Unhandled Exception: System.ArgumentException: Interface not found' #340

Description

@kichalla

Moq version: 4.7.8

Error:

Unhandled Exception: System.ArgumentException: Interface not found.
   at System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(RuntimeTypeHandle handle, RuntimeTypeHandle interfaceHandle)
   at System.RuntimeType.GetInterfaceMap(Type ifaceType)
   at Moq.Extensions.IsGetObjectDataVirtual(Type typeToMock)
   at Moq.Extensions.IsSerializableMockable(Type typeToMock)
   at Moq.SerializableTypesValueProvider.ProvideDefault(MethodInfo member)
   at Moq.Mock.GetInitialValue(IDefaultValueProvider valueProvider, Stack`1 mockedTypesStack, PropertyInfo property)
   at Moq.Mock.SetupAllProperties(Mock mock, Stack`1 mockedTypesStack)
   at Moq.Mock.<>c__DisplayClass72_0.<SetupAllProperties>b__0()
   at Moq.PexProtector.Invoke(Action action)
   at Moq.Mock.SetupAllProperties(Mock mock)
   at Moq.Mock`1.SetupAllProperties()
   at Moq.Mocks.<CreateMocks>d__6`1.MoveNext()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at Moq.Linq.MockQueryable`1.Execute[TResult](Expression expression)
   at Moq.Mock.Of[T]()
   at moq_repro.Program.Main(String[] args)

Repro1

    class Program
    {
        static void Main(string[] args)
        {
            var mock = Moq.Mock.Of<Test>();
        }
    }

    public abstract class Test
    {
        public abstract System.Security.Claims.ClaimsPrincipal Principal { get; }
    }

Repro2

    class Program
    {
        static void Main(string[] args)
        {
            var mock = Moq.Mock.Of<Test>();
        }
    }

    public abstract class Test
    {
        public abstract Foo FooProperty { get; }
    }

    [Serializable]
    public class Foo
    {
        public Foo()
        {

        }

        protected Foo(SerializationInfo info, StreamingContext context)
        {

        }
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions