负载测试 Visual Studio,启动脚本/设置

Load testing Visual Studio, start up script / setup

我想知道是否可以在 运行进行任何负载测试之前有一个启动脚本?例如,也许在测试执行之前播种一些数据或清除任何内容。

在我的例子中,我混合了设计器和编码测试。简单地说,我有:

我尝试添加 class 并使用属性 [TestInitialize()][ClassInitialize()] 进行装饰,但这段代码似乎没有得到 运行.

在实践中展示这一点的一些基本代码(见下文)。有没有办法做到这一点,这样我就可以在测试 运行?

之前只得到一次 运行
[TestClass]
public class Setup  : WebTest
{
    [TestInitialize()]
    public static void Hello()
    {
        // Run some code
    }

    public override IEnumerator<WebTestRequest> GetRequestEnumerator()
    {
        return null;
    }
}

可能还应该提到,在我的编码测试中,我添加了这些属性,但它们被忽略了。我遇到了一种解决方法,即创建 Plugin.

编辑

稍微浏览了一下,我发现 this 关于 SO 的文章,其中展示了如何实现 LoadTestPlugin

如果您愿意使用 NUnit,则每个测试范围 SetUp/TearDown 和 TestFixtureSetUp/TestFixtureTearDown 对 class (TestFixture)

做类似的事情

可能有点 hack,但您可以将代码放在测试的静态构造函数中 class 因为它会自动 运行 在创建第一个实例或任何静态实例之前恰好一次成员被引用:

[TestClass]
public class Setup  : WebTest
{
    static Setup()
    {
        // prepare data for test
    }

    public override IEnumerator<WebTestRequest> GetRequestEnumerator()
    {
        return null;
    }
}

Visual Studio 提供了一种在测试 运行 之前和之后 运行 安装脚本的方法。它们旨在用于为测试部署数据并在测试后进行清理。脚本在“.testsettings”文件的 "Setup and cleanup" 页面上指定。

负载测试插件可以包含 运行 在执行任何测试用例之前和之后的代码,也在测试执行期间的各个阶段。该接口是在执行负载测试期间在不同点引发事件。当这些事件发生时,可以调用用户代码。 LoadTestStarting 事件在任何测试用例 运行 之前引发。有关详细信息,请参阅 here