我正在使用 MSTest 执行一些单元测试,我了解到我可以使用该[DynamicData]属性来输入不同的情况进行测试,但我无法使用 attribute:DynamicDataDisplayName为不同的情况设置名称。
我的测试代码是:
\n [TestMethod]\n [DynamicData(nameof(TestInputs_BeReady), DynamicDataSourceType.Method,\n DynamicDataDisplayName = nameof(GetTestDisplayNames),\n DynamicDataDisplayNameDeclaringType = typeof(List<string>))]\n public void Should_BeReady(object expValue, object[] inputs)\n {\n // Arrange\n\n // Act\n ui.InputID = (string)inputs[0];\n ui.InputName = (string)inputs[1];\n ui.InputList = (List<string>)inputs[2];\n\n // Assert\n Assert.AreEqual(expValue, onReadyStateChangeArgs.Ready);\n }\n\n public static IEnumerable<object[]> TestInputs_BeReady()\n {\n return new[]\n {\n new object[] { true, new object[] { "UTSZ0", "Unit Test Size List" , new List<string> { "entry_01", "entry_02" } } },\n new object[] { false, new object[] …Run Code Online (Sandbox Code Playgroud) 如果我有这样的列表:
List<int> test = new List<int>{1, 1, 2, 2, 3, 3, 4, 4, 5, 6 , 7 , 7 , 7};
Run Code Online (Sandbox Code Playgroud)
然后使用.Distinct()方法:
var distinctTest = test.Distinct();
Run Code Online (Sandbox Code Playgroud)
将结果列表如下:{1,2,3,4,5,6,7}
如何制作这样一个不同的项目列表:{5,6}