mstest - 如何在 TestCleanup 方法中获取 MSTest V2 TestContext 的实例?
问题描述
我正在将现有代码库迁移到 MSTest V2 并TestContext
在TestCleanup
方法中遇到问题。
在 MSTest V1 中,TestContext
该类是静态的,但在 V2 中,它是一个实例。我试图向该TestCleanup
方法添加一个参数,但随后我收到此消息:
该方法必须是非静态的、公共的、不返回值且不应带任何参数。
最终,我想知道正在清理的测试的名称及其测试结果。如果无法获取TestContext
,是否有任何其他方法可以在清理上下文中获取该信息?
解决方案
由于 TestCleanup 方法和 TestContext 不是静态的,因此您可以在 TestCleanup 方法中使用 TestContext 而无需任何参数。这是一个例子:
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace MyNamespace.Tests
{
[TestClass]
public class MyTestClass
{
public TestContext TestContext { get; set; }
[TestCleanup]
public void MyTestCleanup()
{
TestContext.WriteLine($"Test Cleanup for {TestContext.TestName}");
}
[TestMethod]
public void MyTestMethod1() { }
[TestMethod]
public void MyTestMethod2() { }
}
}
推荐阅读
- c# - 如何在文件夹中查找遵循模式的最新文件但也排除某些文件
- android - Unicode 字符与 TextView 中的文本大小不同
- gitlab - 我超过了 10GB 免费套餐,所以我删除了一些文件,但它不会让我推送更改
- c - 返回意外值的基本程序
- c# - 如何在 C# 中从 char 数据类型更改为字符串?
- ruby-on-rails - 在 Rails 应用程序中,我如何实现 IdentityServer4 客户端(混合流)并进行用户身份验证并拥有 ecured API
- azure-cosmosdb - CosmosDB 选项“生产”与“非生产”的真正作用是什么?
- c++ - 在表单内部调用循环
- c# - 如何在 ASP.NET Core 中获取多个复选框值
- git - Solaris 中 Git 和“GNU 交互工具”之间的冲突