public void UpdateWithCodeCoverageSettingsIfNotConfiguredShouldNotUpdateIfDynamicCCIsAlreadySpecified() { var runSettingsXml = @"<RunSettings> <DataCollectionRunSettings> <DataCollectors> <DataCollector uri=""datacollector://microsoft/CodeCoverage/2.0""> </DataCollector> </DataCollectors> </DataCollectionRunSettings> </RunSettings>"; var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(runSettingsXml); CodeCoverageDataAdapterUtilities.UpdateWithCodeCoverageSettingsIfNotConfigured(GetXPathNavigable(xmlDocument)); var expectedRunSettings = "<RunSettings><DataCollectionRunSettings><DataCollectors><DataCollector uri=\"datacollector://microsoft/CodeCoverage/2.0\"></DataCollector></DataCollectors></DataCollectionRunSettings></RunSettings>"; Assert.AreEqual(expectedRunSettings, xmlDocument.OuterXml); }
private IXPathNavigable GetRunSettingsDocument(string runSettingsFile) { IXPathNavigable runSettingsDocument; if (!MSTestSettingsUtilities.IsLegacyTestSettingsFile(runSettingsFile)) { using (XmlReader reader = this.GetReaderForFile(runSettingsFile)) { var settingsDocument = new XmlDocument(); settingsDocument.Load(reader); ClientUtilities.FixRelativePathsInRunSettings(settingsDocument, runSettingsFile); #if NET46 runSettingsDocument = settingsDocument; #else runSettingsDocument = settingsDocument.ToXPathNavigable(); #endif } } else { runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings(); runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument, Architecture.X86, FrameworkVersion.Framework45); } if (this.commandLineOptions.EnableCodeCoverage == true) { try { CodeCoverageDataAdapterUtilities.UpdateWithCodeCoverageSettingsIfNotConfigured(runSettingsDocument); } catch (XPathException e) { throw new SettingsException(CommandLineResources.MalformedRunSettingsFile, e); } } return(runSettingsDocument); }