c# - MSTest 每次都调用构造函数
问题描述
我得到了一个单元测试(MStest) 有一个测试类有很多测试方法。如果我从 TestExplorer 运行所有方法,每个方法都会调用构造函数。有没有办法在所有这些方法中保存 TestClass 实例?
解决方案
好吧,有多个不同的属性指示何时应该调用方法。当您希望设置对所有测试只运行一次时,您应该使用ClassInitialize
-attribute,而不是构造函数:
[TestClass]
class MyTests
{
[ClassInitialize]
public static void SetupTests(TestContext context) { ... }
}
从构造函数中执行初始化只是一个坏主意,因为每个测试框架都有自己的计划来调用它们的时间和频率。相反,您应该使用在使用中具有确定性的属性。
如果您需要在每次测试之前进行初始化,您可以使用 -TestInitialize
属性。
推荐阅读
- package-managers - 我需要一个凉亭替代品
- flutter - Flutter:如何在 2 个容器中间放置一个按钮?
- python - 根据值匹配熊猫中的行是不同的列
- flask - 如何使用 Flask 发送带有表单数据的 JSON 数据
- r - 使用库 (tweenr) 用 xy 数据框加注补间圆
- javascript - Javascript按姓氏对字符串数组进行排序
- mysql - SQL 按天划分多条记录
- azure - 为什么我们说 azure 函数是无服务器计算服务
- java - 在 Activiti 中可视化流程实例历史
- python - 在 Python 中读取具有不同类型值的文本文件的最佳方法