0
Quelqu'un peut-il me dire WHEY le code suivant souffle lorsque le moq.SetupProperty échoue dans le code ci-dessous:Moq SetupProperty ne fonctionne pas
[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;
}
}
Pourriez-vous publier l'exception que vous obtenez? –
J'ai essayé de reproduire mais je ne pouvais pas. Pouvez-vous poster l'erreur et la ligne qui souffle? Également des déclarations de classes et d'interfaces pertinentes. – vidstige
La ligne 'Assert.IsNotNull (scoreService);' est inutile - les constructeurs retournent une référence à une instance ou lancent une exception, il n'est pas possible pour un constructeur de renvoyer une référence nulle. Voir la spécification C#. §7.6.10.1 Expressions de création d'objet. – nicodemus13