MSTest的数据驱动单元测试:如何从CSV文件读取和验证记录?

问题描述 投票:0回答:1

我使用MsTest和数据驱动方法进行单元测试。

到目前为止,我已经在单元测试项目中添加了5行的Data.csv文件,我想验证并输出每个对应的orgId和用户名的UserId。

例如,对于Orgid '80010'和用户名'Malika'-预期为userid = 0000000047

data.csv file

如何设置数据驱动的测试方法以从.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);

        }

    }
    }
csv mstest data-driven
1个回答
0
投票
int ExpUserId = Convert.ToInt32(TestContext.DataRow["0000000047"]);

应该是

int ExpUserId = Convert.ToInt32(TestContext.DataRow[0]); 

int ExpUserId = Convert.ToInt32(TestContext.DataRow["userId"]); 
© www.soinside.com 2019 - 2024. All rights reserved.