Исключение вызвано тем, что вы вызвали участника в строгом макете
IMyClassLogger logger = MockRepository.GenerateStrictMock<IMyClassLogger>(); //<-- Strict Mock here
, для которого не определены ожидания.
Вы вызываете
_database = new Database(_logger.BaseLogger);
в конструкторе, но не ожидал, что он должен быть вызван, поэтому вы получите ExpectationViolationException
на IMyClassLogger.get_BaseLogger()
, как указано в сообщении об исключении
Вам необходимо настроить ожидание для этого члена
[TestMethod]
public void Ctor_ValidParams_CreatesObject()
{
// Arrange
ILogger baseLogger = MockRepository.GenerateMock<ILogger>();
IMyClassLogger logger = MockRepository.GenerateStrictMock<IMyClassLogger>();
logger.Stub(_ => _.BaseLogger).Return(baseLogger);
// Act
var result = new MyClassDataAccess(logger);
// Assert
Assert.IsNotNull(result);
}