Widzę wzorzec w całym kodzie, w którym wyrażenie lambda pokazuje, że nie jest objęte pokryciem kodu, debugger przechodzi przez kod i nie ma bloków warunkowych.Pokrycie kodu na wyrażeń Lambda
public CollectionModel()
{
List<Language> languages = LanguageService.GetLanguages();
this.LanguageListItems =
languages.Select(
s =>
new SelectListItem { Text = s.Name, Value = s.LanguageCode, Selected = false }). // <-- this shows as not covered
AsEnumerable();
}
To jest trochę dziwne. Jakieś pomysły?
+1. Alternatywnie, używa on 'ToList' zamiast' AsEnumerable' i ma taki sam efekt. – Niki
@nikie: Tak, ale chciałem, aby on właśnie zobaczył, jak debugger wraca do lambda po iteracji, ponieważ wydaje mi się, że czyni to bezbłędnie jasne, co się dzieje. –
Należy również zauważyć, że jeśli kolekcja jest pusta, rzutowanie nigdy nie zostanie wywołane, nawet jeśli kolekcja jest iterowana. –