Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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/2/unit-testing/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# 在xUnit中指定要进行单元测试的可变数量的参数,这些参数也具有固定的参数_C#_Unit Testing_Xunit - Fatal编程技术网

C# 在xUnit中指定要进行单元测试的可变数量的参数,这些参数也具有固定的参数

C# 在xUnit中指定要进行单元测试的可变数量的参数,这些参数也具有固定的参数,c#,unit-testing,xunit,C#,Unit Testing,Xunit,我正在用xUnit编写一个单元测试,它接收很少的固定参数,外加数量可变的额外参数。测试的签名如下所示。从省略号开始,测试最多可以有20个参数 public async void MyTest(string ID, string count, string sid, string token, string domain, string expectedOutcome, ...) 我不能让它工作使用关键字,并根据链接,这将是不可能在不久的将来 此外,PropertyData和ClassData属

我正在用xUnit编写一个单元测试,它接收很少的固定参数,外加数量可变的额外参数。测试的签名如下所示。从省略号开始,测试最多可以有20个参数

public async void MyTest(string ID, string count, string sid, string token, string domain, string expectedOutcome, ...)
我不能让它工作使用关键字,并根据链接,这将是不可能在不久的将来

此外,PropertyData和ClassData属性允许使用参数化测试,但是如果我采用这种方法,我必须将所有固定参数移动到与这些属性相关的代码中,而这不是一个选项,因为大多数测试甚至不会使用额外的参数

我还尝试将签名更改为以下内容

public async void MyTest(string ID, string count, string sid, string token, string domain, string expectedOutcome, List<string> parameters)
public async void MyTest(字符串ID、字符串计数、字符串sid、字符串令牌、字符串域、字符串预期输出、列表参数)
。。。但是当我构建时,在初始化InlineData属性中的列表的代码行中会出现错误:

属性参数必须是常量表达式,typeof表达式 或属性参数类型的数组创建表达式

有没有一种优雅的方法?到目前为止,我已经硬编码了几个集合作为类变量,对应于这些额外的参数。但是在每次运行之前,我必须手动更改单元测试代码中要使用的集合。由于我仍在开发中,目前这不是一个问题,但当我必须部署测试时,这将是一个问题