MOQ 4.0: Der typeninitialisierer für 'Moq.Mock - `1' hat eine Ausnahme ausgelöst

Ich bin immer die Ausnahme

Der typeninitialisierer für 'Moq.Mock - `1'
warf eine Ausnahme.

Verwendung Moq 4.0 habe ich überprüft, um auf ein paar Foren, und Sie weisen auf die Verwendung der Moq-NoCastle version. Ich habe beides ausprobiert und diese version in der Moq-Ordner. Beide mit dem gleichen Ergebnis.

Habe ich eine Lösung mit 2 Projekte, eins für mein interface, eine für meine tests. Mein Haupt-Projekt hat 2 Dateien:

IMyInterface.cs:

using System;

namespace Prototype
{
    public interface IMyInterface
    {
        int Value { get; set; }
        void ProcessValue();
        int GetValue();
    }
}

Mein Programm.cs-Datei hat nur die Standard-code, der generiert mit dem Projekt.

Mein test-Projekt eine einzelne Datei für meinem dummy-test - Testprogramm.cs

using System;
using NUnit.Framework;
using Moq;

namespace Prototype.UnitTests
{
    [TestFixture]
    public class TestProgram
    {
        Mock<IMyInterface> mock;

        [TestFixtureSetUp]
        void TestSetup()
        {
            mock = new Mock<IMyInterface>();
            mock.Setup(x => x.GetValue()).Returns(2);
        }

        [Test]
        public void RunTest()
        {
            IMyInterface obj = mock.Object; /* This line fails */
            int val = obj.GetValue();
            Assert.True(val == 2);
        }
    }
}

Laut Dokumentation alles ist gut und richtig, und es kompiliert schön. Das problem kommt, wenn ich versuche, um den test auszuführen. Es wird zu der Zeile oben und stürzt mit der Ausnahme:

Der typeninitialisierer für 'Moq.Mock - `1'
warf eine Ausnahme.

Ich kann nicht sehen, was läuft hier falsch, kann jemand etwas Licht auf Sie?

InformationsquelleAutor BenAlabaster | 2010-10-01
Schreibe einen Kommentar