2013-12-14 2 views
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 таким образом, чтобы он сообщал о покрытии для параметризованных тестов?

+1

Интересная проблема, с которой я не сталкивался. Кажется довольно фундаментальным, что это сработает. Вы попробовали поддержку NCover? – Spock

+0

Выполнено, будет отчитываться, если я получу решение. Thx для подсказки! – bas

ответ

0

обновлен до последней версии (4.5.2483. *), И теперь это поддерживаемая функция. \ o/