为了账号安全,请及时绑定邮箱和手机立即绑定

将数据存储在 MSTest TestContext 中或在 TestRun 期间以其他方式存储数据

将数据存储在 MSTest TestContext 中或在 TestRun 期间以其他方式存储数据

C#
白衣染霜花 2023-09-16 17:54:05
我有一种在 MsTest 的 TestContext 中全局存储数据的方法吗?或者在测试运行期间存储数据的另一种机制?我想在程序集初始化时从 Rest-Resource 读取一个字符串,并将其存储在某个地方,以便在 TestMehtod 的自定义实现期间访问它。
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

我想到了两种解决方案。

运行设置

第一个是与 Visual Studio 和 MSTest 的RunSettings文件更加集成的解决方案。在以 XML 结构定义的 RunSettings 文件中,您预定义了<TestRunParameters>可以在由 MSTest 装饰器(例如 、 等)装饰的方法或类中访问和设置的[AssemblyInitialize]文件[TestClass]。在这些修饰的方法或类中,您当然可以访问一个TestContext对象,并且在该TestContext对象中,您可以<TestRunParameters>使用TestContext.Properties.

例如,假设您有一个 RunSettings 文件,

<?xml version="1.0" encoding="utf-8"?>

<RunSettings>

    <TestRunParameters>

        <Parameter name="Name" value="Dan" />

    </TestRunParameters>

</RunSettings>

您可以在测试类中执行此操作:


[TestClass]

public class Configuration 

{

    [ClassInitialize]

    public static void ClassInitialize(TestContext testContext) 

    {

        Console.Write(testContext.Properties["Name"]); // Outputs "Dan"


        // The TestContext object will be modified and the updated value 

        // will be ready the next time it's retrieved

        testContext.Properties["Name"] = "John"; 

    }

}

静态类

或者,您可以有一个静态类,其唯一目的是初始化和存储字符串。


查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 43 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信