From #1279. TestCaseAttribute supports a number of 'special-cases' that TestCaseSourceAttribute does not - principally optional arguments and the params keyword.
This is managed within TestCaseAttribute.GetParametersForTestCase(IMethodInfo method). This functionality could probably be shared by both attributes, however, there's some additional complexity in how TestCaseSourceAttribute.GetTestCasesFor(IMethodInfo method) derives the type of it's parameters which will need modification.
From #1279.
TestCaseAttributesupports a number of 'special-cases' thatTestCaseSourceAttributedoes not - principally optional arguments and theparamskeyword.This is managed within
TestCaseAttribute.GetParametersForTestCase(IMethodInfo method). This functionality could probably be shared by both attributes, however, there's some additional complexity in howTestCaseSourceAttribute.GetTestCasesFor(IMethodInfo method)derives the type of it's parameters which will need modification.