コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }