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

我有一种在 MsTest 的 TestContext 中全局存储数据的方法吗?或者在测试运行期间存储数据的另一种机制?

我想在程序集初始化时从 Rest-Resource 读取一个字符串,并将其存储在某个地方,以便在 TestMehtod 的自定义实现期间访问它。


白衣染霜花
浏览 44回答 1
1回答

蛊毒传说

我想到了两种解决方案。运行设置第一个是与 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";     }}静态类或者,您可以有一个静态类,其唯一目的是初始化和存储字符串。
打开App,查看更多内容
随时随地看视频慕课网APP