Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何添加上次单元测试完成时触发的事件?_C#_Visual Studio 2010_Unit Testing_C# 4.0 - Fatal编程技术网

C# 如何添加上次单元测试完成时触发的事件?

C# 如何添加上次单元测试完成时触发的事件?,c#,visual-studio-2010,unit-testing,c#-4.0,C#,Visual Studio 2010,Unit Testing,C# 4.0,我正在VisualStudio中创建一些单元测试,我想创建一个基类,在我的应用程序中创建一组特定的测试数据,然后当测试运行中的最后一个单元测试完成时,自动清理测试数据。我可以很好地处理数据的创建,我只是不知道是否可以判断测试运行已经完成 换言之: UnitTest1和UnitTest2继承UnitTestBaseCreateData(相反,它们可以在UnitTest1和UnitTest2的构造函数中调用创建测试数据的静态方法) UnitTest3和UnitTest4不需要创建数据 如果我选择并

我正在VisualStudio中创建一些单元测试,我想创建一个基类,在我的应用程序中创建一组特定的测试数据,然后当测试运行中的最后一个单元测试完成时,自动清理测试数据。我可以很好地处理数据的创建,我只是不知道是否可以判断测试运行已经完成

换言之:

  • UnitTest1和UnitTest2继承UnitTestBaseCreateData(相反,它们可以在UnitTest1和UnitTest2的构造函数中调用创建测试数据的静态方法)
  • UnitTest3和UnitTest4不需要创建数据
  • 如果我选择并运行UnitTests 1、2、3和4,测试数据将根据需要为测试1创建,并在测试4完成后自动清理
  • 如果选择并运行UnitTests 3和4,则不会创建测试数据,也不会运行清理代码
  • 如果我选择并只运行单元测试1,测试数据将按需创建,然后在测试4完成后清理
我只是不知道是否有[TestRunCleanup()](类似于TestCleanup和ClassCleanup属性)方法属性可用,我可以将其用作挂钩,以查看是否有需要清理的测试数据…

您可以使用。当一个方法用属性修饰时,当当前测试运行中的所有测试(该程序集的)完成时,MS Test将执行该方法

    [AssemblyCleanup]
    public static void AssemblyCleanup()
    {
        //Remove data here when necessary
    }

这正是我想要的。。。我正在经历一些重大的黑客攻击,以运行一个批处理文件,该批处理文件执行一个powershell命令,然后调用一个C#方法。这正是我想要的。