C#
.NET
MSTest

DataTestMethodの使用例

DataTestMethod

mstestのパラメーター化テストでDataRowにTupleを使用すると「error CS0182: 属性引数は、定数式、typeof 式、または属性パラメーター型の配列の作成式でなければなりません。」とエラーになる。
DataRowの代わりに、DynamicDataを使用してTupleを含むテストデーターを返すメソッドまたはプロパティを指定する。

UnitTest1.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;

namespace UnitTestProject1
{
    [TestClass()]
    public class UnitTest1
    {
        [DataTestMethod()]
        [DataRow("text1", 1)]
        [DataRow("text2", 2)]
        public void DataRowTest(string text, int number)
        {
            var tuple = (text, number);
            Assert.AreEqual(tuple.text, text);
            Assert.AreEqual(tuple.number, number);
        }

        public static IEnumerable<object[]> GetDynamicDataTestData()
        {
            yield return new object[] { ("text1", 1), "text1", 1 };
            yield return new object[] { ("text2", 2), "text2", 2 };
        }

        [DataTestMethod()]
        [DynamicData(nameof(GetDynamicDataTestData), DynamicDataSourceType.Method)]
        public void DynamicDataTest((string text, int number) tuple,
            string text, int number)
        {
            Assert.AreEqual(tuple.text, text);
            Assert.AreEqual(tuple.number, number);
        }
    }
}