Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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# Nunit 3.0能知道在执行之前选择了多少测试来执行吗?_C#_Nunit 3.0 - Fatal编程技术网

C# Nunit 3.0能知道在执行之前选择了多少测试来执行吗?

C# Nunit 3.0能知道在执行之前选择了多少测试来执行吗?,c#,nunit-3.0,C#,Nunit 3.0,在测试运行程序执行测试之前,是否可以确定已选择执行多少测试?这将有助于本地测试,因为我们的逻辑一次为每个测试套件配置生成测试配置,如果能够确定已选择执行哪些测试,则允许我创建逻辑以仅为这些测试创建测试数据配置 这在编写测试和测试它们是否有效时非常有用。因为我们只想为所选测试生成测试数据 现在我们必须注释掉代码,以禁止它执行测试数据配置 谢谢。我觉得你想得有点过头了。您的设置可以通过以下组合来完成:在整个测试程序集设置(仅运行一次)、命名空间范围的设置(在运行命名空间中的任何测试之前运行一次)、测

在测试运行程序执行测试之前,是否可以确定已选择执行多少测试?这将有助于本地测试,因为我们的逻辑一次为每个测试套件配置生成测试配置,如果能够确定已选择执行哪些测试,则允许我创建逻辑以仅为这些测试创建测试数据配置

这在编写测试和测试它们是否有效时非常有用。因为我们只想为所选测试生成测试数据

现在我们必须注释掉代码,以禁止它执行测试数据配置


谢谢。

我觉得你想得有点过头了。您的设置可以通过以下组合来完成:在整个测试程序集设置(仅运行一次)、命名空间范围的设置(在运行命名空间中的任何测试之前运行一次)、测试夹具的构造函数、实际测试的开始等之间拆分设置工作


如果在所有测试中重用docker实例和应用程序池,则在整个程序集设置中对其进行初始化,以便只执行一次。然后,每个测试可以在开始之前添加它需要的任何数据。如果某些数据在测试之间共享,则只需设置全局标志以指示已完成的操作;如果尚未设置测试所需的某些数据,则只需在继续该测试之前进行所需的增量附加设置,但是,如果您正确地将测试组织到名称空间中,并且只对fixture使用名称空间范围的设置,则通常不需要这样做。

为什么不在测试中创建测试数据,或者在启动步骤中创建测试数据呢?它比这要复杂一些。我们正在预先生成所有内容,并使用docker在数据库中创建项来托管数据库。在客户端中查看每个配置的测试数据之前,我们需要执行应用程序池重置。执行应用程序池最多需要2分钟才能重新连接到客户端。这将使每次测试至少需要2分钟,再加上测试本身需要多长时间。效率很低。我们必须根据执行的测试套件预先生成所有内容。