Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 运行并行测试之前,Xunit设置数据库_C#_Visual Studio_Xunit - Fatal编程技术网

C# 运行并行测试之前,Xunit设置数据库

C# 运行并行测试之前,Xunit设置数据库,c#,visual-studio,xunit,C#,Visual Studio,Xunit,如何在所有测试开始运行之前设置数据库? 在所有测试运行之后,如何清理数据库? 这些测试是并行运行的,因此我无法在每个测试的开始或结束时进行设置。如果我理解正确,您希望为所有测试类中的所有测试设置一个数据库。请尝试使用收集夹具。这里有一个简单的例子: 还有一些示例说明如何将其与db一起使用。如果您有一个bash脚本或CI中的一些工具来执行测试,您可以在执行单元测试之前定义数据库的设置。执行后,您可以对清理执行相同的操作 我只是想给你一些其他的解决方案来解决你的问题 数据库在测试之间无法清理。我希望

如何在所有测试开始运行之前设置数据库? 在所有测试运行之后,如何清理数据库?
这些测试是并行运行的,因此我无法在每个测试的开始或结束时进行设置。

如果我理解正确,您希望为所有测试类中的所有测试设置一个数据库。请尝试使用收集夹具。这里有一个简单的例子:


还有一些示例说明如何将其与db一起使用。

如果您有一个bash脚本或CI中的一些工具来执行测试,您可以在执行单元测试之前定义数据库的设置。执行后,您可以对清理执行相同的操作


我只是想给你一些其他的解决方案来解决你的问题

数据库在测试之间无法清理。我希望测试一个接一个地运行,并且他们的数据库将在一个测试完成后和另一个测试启动前清理抱歉,延迟。在xunit文档中,您可以发现xunit.net为运行的每个测试创建了一个新的测试类实例,因此放入测试类构造函数中的任何代码都将为每个测试运行,所以只需将数据库初始化放在构造函数中即可。