我使用MsTest和数据驱动方法进行单元测试。
到目前为止,我已经在单元测试项目中添加了5行的Data.csv文件,我想验证并输出每个对应的orgId和用户名的UserId。
例如,对于Orgid '80010'
和用户名'Malika'
-预期为userid = 0000000047
如何设置数据驱动的测试方法以从.CSV文件中读取并验证正确的userId?
C# Code:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace AuthenticationServiceTest
{
[TestClass]
public class UT_GetUserIdFromUserName
{
public TestContext TestContext { get; set; }
[TestMethod]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"Data\Data.csv", "Data#csv",
DataAccessMethod.Sequential)]
public void TestMethod1()
{
// Arrange
int ExpUserId = Convert.ToInt32(TestContext.DataRow["0000000047"]);
int orgId = Convert.ToInt32(TestContext.DataRow[1]);
int username = Convert.ToInt32(TestContext.DataRow[2]);
// Act
string UserId = string.Empty;
// Assert
Assert.AreEqual(ExpUserId, UserId);
Console.WriteLine("Expected UserId: " + ExpUserId);
Console.WriteLine("Actual UserId: " + UserId);
}
}
}
int ExpUserId = Convert.ToInt32(TestContext.DataRow["0000000047"]);
应该是
int ExpUserId = Convert.ToInt32(TestContext.DataRow[0]);
或
int ExpUserId = Convert.ToInt32(TestContext.DataRow["userId"]);