Tuesday, February 14, 2017

vstest.console.exe SettingsFile Example for Test Parameters



<RunSettings>
  <!-- Parameters used by tests at runtime -->
  <TestRunParameters>
    <Parameter name="webAppUrl" value="http://localhost" />
    <Parameter name="webAppUserName" value="Admin" />
    <Parameter name="webAppPassword" value="Password" />
  </TestRunParameters>

</RunSettings>

Testclassfile.cs:

    [TestClass]
    public class NoDbTests
    {

        private static string _param1="";

        [ClassInitialize]
        public static void TestClassinitialize(TestContext context)
        {
            _param1 = context.Properties["webAppUrl"]?.ToString();
            Trace.Write("_param1=" +_param1);

            //other settings etc..then use your test settings parameters here...
        }
        /// <summary>tests parameter from runsettings.xml file
        /// vstest.console.exe .\isiQiri.Server.Tests.dll /Tests:RunSettingsTest /Settings:runsettings.xml
        /// </summary>
        [TestMethod]
        public void RunSettingsTest()
        {
            Trace.Write("_param1=" + _param1);
            Assert.AreEqual(_param1, "http://localhost");
        }
}

Test with:
vstest.console.exe .\isiQiri.Server.Tests.dll /Tests:RunSettingsTest /Settings:runsettings.xml

No comments: