MsTest 프레임 워크를 사용하여 데이터 기반 테스트를 구현했습니다.데이터 기반 테스트에서는 TestContext에서 반복/회선 번호를 어떻게 구합니까?
TestContext 객체에서 현재 테스트 코드의 반복/행 번호를 가져 오는 방법이 있는지 궁금합니다.
DDT와 관련된 유일한 속성은 데이터 원본에서 현재 반복에 대한 정보를 가져올 수있는 DataRow이지만 필요한 항목을 제공하는 속성은 표시되지 않습니다.
MsTest 프레임 워크를 사용하여 데이터 기반 테스트를 구현했습니다.데이터 기반 테스트에서는 TestContext에서 반복/회선 번호를 어떻게 구합니까?
TestContext 객체에서 현재 테스트 코드의 반복/행 번호를 가져 오는 방법이 있는지 궁금합니다.
DDT와 관련된 유일한 속성은 데이터 원본에서 현재 반복에 대한 정보를 가져올 수있는 DataRow이지만 필요한 항목을 제공하는 속성은 표시되지 않습니다.
이 시도 :
int currentIteration = TestContext.DataRow.Table.Rows.IndexOf(TestContext.DataRow);
private readonly PropertyInfo _rowIdProp = typeof(System.Data.DataRow).GetProperty("rowID", BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance);
..
// No datarow means only one iteraton
var currentIteration = DataRow == null ? 1 : (Int64)_rowIdProp.GetValue(DataRow, null);
이 데이터 소스 속성없이이지만 루프의없이 의해
for (int i = 0; i < x; i++)
{
int currentIteration = TestContext.DataRow.Table.Rows.IndexOf(TestContext.DataRow);
DataTable dt = TestContext.DataRow.Table;
int rowCount = dt.Rows.Count;
DataRow secondRow = dt.Rows[i];
string name = secondRow["name"].ToString();
int Balance = Convert.ToInt32(secondRow["Balance"]);
int Amount = Convert.ToInt32(secondRow["Amount"]);
int Count = Convert.ToInt32(secondRow["Count"]);
Assert.AreEqual(Balance, Amount);
}
감사 자체를 반복하는 것이 내가 당신을 말할 수있는, 즉 :) 일 – user1039580
디버거를 살펴보고 Inspect를 찾아야합니다. 나는 그것을 충분히 빨리 보지 못했습니다. MSDN은이 유용한 개체 테이블을 언급하지 않습니다. –