Я получаю исключение
Инициализатор типа для 'Moq.Mock`1' выдал исключение.
с использованием Moq 4.0, который я проверялна нескольких форумах, и они ссылаются на использование версии Moq-NoCastle.Я попробовал и это, и версию в папке Moq.Оба с одинаковым результатом.
У меня есть решение с 2 проектами, один для моего интерфейса, один для моих тестов.В моем основном проекте есть 2 файла:
IMyInterface.cs:
using System;
namespace Prototype
{
public interface IMyInterface
{
int Value { get; set; }
void ProcessValue();
int GetValue();
}
}
В моем файле program.cs есть только код по умолчанию, сгенерированный с проектом.
Мой тестВ проекте есть один файл для моего фиктивного теста - TestProgram.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);
}
}
}
В соответствии с документацией все хорошо и правильно, и хорошо компилируется.Проблема возникает, когда я пытаюсь запустить тест.Он попадает на отмеченную выше строку и вылетает за исключением:
Инициализатор типа для 'Moq.Mock`1' выдал исключение.
Не могуПосмотрите, что здесь происходит, кто-нибудь может пролить свет на это?