1

DataSource次のような属性 で装飾されたテストメソッドがあります。

[DataSource(PROVIDER_INVARIANT_NAME, CONNECTION_STRING, 
"Test Case#", DataAccessMethod.Sequential), 
TestMethod]

"Test Case#" を MTM のテスト ケース番号に置き換えます。単体テスト内でその番号を取得しようとしていますが、TestContext.DataRow.Table.TableName常に「Table1」です。本当の価値を得る方法を誰か教えてもらえますか?

4

1 に答える 1

1

私が間違っていない限り、「TestCase#」を MTM に置き換えることはできないため、すべてのDataSource属性に手動で追加した可能性があります。

この値はconstantです。に定数変数を追加して、と のTestClass両方で使用してみませんか?DataSourceAttributeTestMethod


編集
直接 アクセスすることもできますDataSourceAttribute

[TestClass]
public class TestClass
{
    public DataSourceAttribute DataSource
    {
        get
        {
            return (DataSourceAttribute)Attribute.GetCustomAttribute(typeof(TestClass).
                GetMethod("TestMethod"), typeof(DataSourceAttribute));
        }
    }

    [DataSource(PROVIDER_INVARIANT_NAME, CONNECTION_STRING, 
        "Test Case#", DataAccessMethod.Sequential), TestMethod]
    public void TestMethod()
    {
        string TestCaseId = DataSource.TableName;
    }
}
于 2012-03-11T13:11:38.510 に答える