如何添加在最后一个单元测试完成时触发的事件
本文关键字:完成时 单元测试 事件 最后一个 何添加 添加 | 更新日期: 2023-09-27 18:18:04
我正在Visual Studio中创建一些单元测试,我想创建一个基类,在我的应用程序中创建一组特定的测试数据,然后当测试运行中的最后一个单元测试完成时,自动清理测试数据。我可以很好地处理数据的创建,我只是不知道是否有可能告诉测试运行已经完成。
换句话说:
- UnitTest1和UnitTest2继承UnitTestBaseCreateData(相反,它们可以调用UnitTest1和UnitTest2的构造函数中的静态方法,创建测试数据)
- UnitTest3和UnitTest4不需要创建数据。
- 如果我选择并运行UnitTests 1,2,3和4,测试数据将根据测试1的需求创建,并在测试4完成后自动清理
- 如果我选择并运行UnitTests 3和4,测试数据将不会创建,清理代码将不会运行。
- 如果我选择并只运行单元测试1,测试数据将按需创建,然后在测试4完成后清理。
我只是不知道是否有一些[TestRunCleanup()](类似于TestCleanup和ClassCleanup属性)到一个可用的方法属性,我可以用它作为钩子,看看我是否有测试数据,我需要清理…
您可以使用AssemblyCleanupAttribute。当使用该属性装饰方法时,MS Test将在当前测试运行中的所有测试(该程序集的所有测试)完成时执行该方法。
[AssemblyCleanup]
public static void AssemblyCleanup()
{
//Remove data here when necessary
}