使用Visual Studio 2015的NUnit 3如何为我的测试提供一些参数?

时间:2016-05-12 15:43:33

标签: visual-studio selenium nunit

例如,我可能会为我的暂存网站编写大量的Selenium测试,现在不再编写完全相同的代码,而是使用我的实时网站上的URL,我想重用代码。

(我可能需要的不仅仅是URL,我可能还需要不同的登录名/密码等。)

我认为通过使用.testsettings文件可能是可能的,在我的测试中,我可以阅读我应该测试的当前URL等等。

必须有办法,你是怎么做到的?

1 个答案:

答案 0 :(得分:0)

我建议将测试配置存储在基于文本的简单文件中。它可以像第一行的URI,第二行的用户名和第三行的密码等那么简单。或者,如果您的项目中已经有NewtonSoft.JSON,则创建一个简单的JSON配置文件。

然后在Test Assembly安装程序中,您可以读取该文件并将其解析为可以从所有测试中访问的全局静态测试设置对象。

我会将默认TestSettings.json检查到源代码管理中,以便它始终可用,然后您可以检查是否存在TestSettings.local.json。如果是,请加载它,否则加载默认值。

您还可以在代码中设置默认值,并在TestSettings.json出现时覆盖它们。

要在运行所有测试之前加载文件,请使用SetupFixture属性,该属性允许您在测试程序集加载之前运行代码,然后运行所有测试。

namespace NUnit.Tests
{
  using System;
  using NUnit.Framework;

  [SetUpFixture]
  public class MySetUpClass
  {
    public static TestSettings Settings { get; set; }

    [OneTimeSetUp]
    RunBeforeAnyTests()
    {
      // Load your settings file here into the static
      // Settings property
    }
  }
}