Moq SetupProperty не работает - PullRequest
0 голосов
/ 30 июля 2009

Может кто-нибудь сказать мне, почему следующий код дует, когда moq.SetupProperty не работает в приведенном ниже коде:

[TestMethod]
public void SimulatorService_Returns_HighScores()
{
    IScoreService scoreService = new ScoreService(MockScoreRepository.GetMockScoreRepository());
    Assert.IsNotNull(scoreService);
    var highScores = scoreService.GetHighScores();
    Assert.IsTrue(highScores.Count > 0);
}


public static class MockScoreRepository
{

    public static ScoreEntry GetMockScoreEntry(int seed)
    {
        var moq = new Mock<ScoreEntry>();

        moq.SetupProperty(s => s.UserID, seed);
        moq.SetupProperty(s => s.Score, 10 * seed);
        moq.SetupProperty(s => s.EntryDate, DateTime.Now);

        return moq.Object;
    }

    public static IScoreRepository GetMockScoreRepository()
    {
        var scores = new List<ScoreEntry>();
        for (var i = 0; i < 20; i++)
        {
            scores.Add(GetMockScoreEntry(i));
        }

        var repository = new Mock<IScoreRepository>();
        repository.Setup(r => r.GetScores()).Returns(scores.AsQueryable());

        return repository.Object;
    }
}

1 Ответ

0 голосов
/ 30 июля 2009

Первое, что я хотел бы проверить, - это убедиться, что в свойствах ScoreEntry, которые вы устанавливаете, есть доступные установщики. Другими словами, убедитесь, что ваши сеттеры имеют публичный доступ или что у вас по крайней мере есть сеттер для каждого свойства, которое вы пытаетесь установить через moq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...