0
NCover, похоже, отказывается сообщать о покрытии из параметризованных тестов NUnit.Тесты NUnit TestCase, по-видимому, игнорируются NCover
Это идет отлично:
[Test]
public void CreateImportTvShowsModelTests()
{
var importTvShowsModel = new ImportTvShowsModel(_fileUtilities, null, _tvShowLibrary, new ProgressModel());
Assert.IsNotNull(importTvShowsModel.TvShowLibrary);
}
Это игнорируется в докладе покрытия:
[TestCase(false, true, true)]
[TestCase(false, false, true)]
[TestCase(true, true, false)]
[TestCase(false, false, true)]
public void ToggleSelectAll(bool firstSelected, bool secondSelected, bool resultAllSelected)
{
// Go into some trouble to use actual DownloadedEpisodes (not mocks) because we need to validate
// the IsSelected propery. Mocking the IsSelected property on DownloadedEpisode superseeds the whole purpose
var matcher = MockRepository.GenerateMock<ISeasonAndEpisodeMatcher>();
var tvShowsLibrary = MockRepository.GenerateMock<ITvShowsLibrary>();
tvShowsLibrary.Expect(library => library.PossibleCorrespondingTvShows(string.Empty))
.IgnoreArguments()
.Return(new List<ITvShow>());
var downloadedEpisode1 = new DownloadedEpisode(@"D:\bla.mkv", matcher, tvShowsLibrary) {IsSelected = firstSelected};
var downloadedEpisode2 = new DownloadedEpisode(@"D:\bla.mkv", matcher, tvShowsLibrary) {IsSelected = secondSelected};
var downloadedEpisodes = new ObservableCollection<IDownloadedEpisode> { downloadedEpisode1, downloadedEpisode2 };
var importTvShowsModel = new ImportTvShowsModel(_fileUtilities, downloadedEpisodes, _tvShowLibrary, _progressModel);
importTvShowsModel.ToggleSelectAll();
Assert.AreEqual(resultAllSelected, downloadedEpisode1.IsSelected);
Assert.AreEqual(resultAllSelected, downloadedEpisode2.IsSelected);
}
Конечно, в обоих случаях тесты выполняются и все преуспевают.
Могу ли я настроить NCover таким образом, чтобы он сообщал о покрытии для параметризованных тестов?
Интересная проблема, с которой я не сталкивался. Кажется довольно фундаментальным, что это сработает. Вы попробовали поддержку NCover? – Spock
Выполнено, будет отчитываться, если я получу решение. Thx для подсказки! – bas