From a13b0f011f113a285587c2527b01e04c7c52a338 Mon Sep 17 00:00:00 2001 From: bstoney Date: Tue, 10 Apr 2018 21:42:26 +0800 Subject: [PATCH 1/2] Added docs for dynamic data display name --- RFCs/006-DynamicData-Attribute.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/RFCs/006-DynamicData-Attribute.md b/RFCs/006-DynamicData-Attribute.md index eeb528d..0c4cf55 100644 --- a/RFCs/006-DynamicData-Attribute.md +++ b/RFCs/006-DynamicData-Attribute.md @@ -70,6 +70,24 @@ In case, the property or method exists in a class other than the test class, an Please note that Enum `DynamicDataSourceType` is used to specify whether test data source is a property or method. Data source is considered as property by default. +Optionally, to provide a custom name for each data driven test case, `DynamicDataDisplayName` can be used to reference a public static method declared as below: + +```csharp + public static string GetCustomDynamicDataDisplayName(MethodInfo methodInfo, object[] data) + { + return string.Format("DynamicDataTestMethod {0} with {1} parameters", methodInfo.Name, data.Length); + } + + // Method GetCustomDynamicDataDisplayName can be used to provide a custom test name for test data with data driven test case. + [DynamicData("ReusableTestDataProperty", DynamicDataDisplayName = "GetCustomDynamicDataDisplayName")] +``` + +`DynamicDataDisplayNameDeclaringType` should be used in cases where the dynamic data display name method exists in a class other than the test class + +```csharp + [DynamicData("ReusableTestDataMethod", DynamicDataDisplayName = "GetCustomDynamicDataDisplayName", DynamicDataDisplayNameDeclaringType = type(UnitTests))] +``` + ### Benefits of using DynamicData attribute 1. More than one tests can use the same test data, if required. 2. Changes in the shared test data can be scoped to single place. From 6f8d8a39822b035a3c41a1594f97bad9e034be62 Mon Sep 17 00:00:00 2001 From: Brad Stoney Date: Thu, 12 Apr 2018 05:21:29 +0800 Subject: [PATCH 2/2] Fixed typo --- RFCs/006-DynamicData-Attribute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/006-DynamicData-Attribute.md b/RFCs/006-DynamicData-Attribute.md index 0c4cf55..cb2233d 100644 --- a/RFCs/006-DynamicData-Attribute.md +++ b/RFCs/006-DynamicData-Attribute.md @@ -85,7 +85,7 @@ Optionally, to provide a custom name for each data driven test case, `DynamicDat `DynamicDataDisplayNameDeclaringType` should be used in cases where the dynamic data display name method exists in a class other than the test class ```csharp - [DynamicData("ReusableTestDataMethod", DynamicDataDisplayName = "GetCustomDynamicDataDisplayName", DynamicDataDisplayNameDeclaringType = type(UnitTests))] + [DynamicData("ReusableTestDataMethod", DynamicDataDisplayName = "GetCustomDynamicDataDisplayName", DynamicDataDisplayNameDeclaringType = typeOf(UnitTests))] ``` ### Benefits of using DynamicData attribute