编辑4:看起来这已在2016年6月17日在MSTest V2中完成:https ://blogs.msdn.microsoft.com/visualstudioalm/2016/06/17/taking-the-mstest-framework-forward-with-mstest- v2 /
原始答案:
大约在一周前,在Visual Studio 2012 Update 1中,现在可以实现类似的功能:
[DataTestMethod]
[DataRow(12,3,4)]
[DataRow(12,2,6)]
[DataRow(12,4,3)]
public void DivideTest(int n, int d, int q)
{
Assert.AreEqual( q, n / d );
}
编辑:看来这仅在WinRT / Metro的单元测试项目中可用。布默
编辑2:以下是在Visual Studio中使用“转到定义”找到的元数据:
#region Assembly Microsoft.VisualStudio.TestPlatform.UnitTestFramework.dll, v11.0.0.0
// C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\MSTestFramework\11.0\References\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.UnitTestFramework.dll
#endregion
using System;
namespace Microsoft.VisualStudio.TestPlatform.UnitTestFramework
{
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class DataTestMethodAttribute : TestMethodAttribute
{
public DataTestMethodAttribute();
public override TestResult[] Execute(ITestMethod testMethod);
}
}
编辑3:此问题是在Visual Studio的UserVoice论坛中提出的。最近更新状态:
已开始·Visual Studio团队ADMIN Visual Studio团队(Microsoft Visual Studio产品团队)做出了回应·2016年4月25日,谢谢您的反馈。我们已经开始对此进行研究。
Pratap Lakshman Visual Studio
https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/3865310-allow-use-of-datatestmethod-datarow-in-all-unit