c#单元测试visual studio 2010

c#单元测试visual studio 2010,c#,unit-testing,C#,Unit Testing,我对c#和一般编程都是新手。需要编写一些单元测试。要为此类编写一些: using System; using System.Collections.Generic; using System.Linq; using System.Web; using teamcanada.Models; using System.Configuration; using teamcanada.ingestion; /* This class writes the parsed CSV data into th

我对c#和一般编程都是新手。需要编写一些单元测试。要为此类编写一些:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using teamcanada.Models;
using System.Configuration;
using teamcanada.ingestion;

/* This class writes the parsed CSV data into the database */

namespace teamcanada.dal
{
    public class csvParseDAL
    {
        protected torontoDB db = new torontoDB();

        /* if the database is empty, then do not continue with the CSV parsing */

        public csvParseDAL()
        {
            if ((db.ElectionResults.ToList().Count() == 0) && (db.ElectionContributions.ToList().Count() == 0))
            {
                insertcsv();
            }
        }

        /* Start CSV parsing  */

        public void insertcsv()
        {
            List<Results> results = null;
            List<Contributions> contributions = null;

            LoadCSV import = new LoadCSV();

            results = import.loadResults();

            foreach (Results r in results)
            {
                db.ElectionResults.Add(r);
            }

            contributions = import.loadContributions();

            foreach (Contributions r in contributions)
            {

                db.ElectionContributions.Add(r);
            }
            db.SaveChanges();
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用teamcanada.Models;
使用系统配置;
使用teamcanada.infection;
/*此类将解析的CSV数据写入数据库*/
名称空间teamcanada.dal
{
公共类csvParseDAL
{
受保护的torontoDB db=新的torontoDB();
/*如果数据库为空,则不要继续CSV解析*/
公共csvParseDAL()
{
if((db.ElectionResults.ToList().Count()=0)和&(db.ElectionContributions.ToList().Count()=0))
{
insertcsv();
}
}
/*启动CSV解析*/
public void insertcsv()
{
列表结果=空;
列表贡献=空;
LoadCSV导入=新的LoadCSV();
结果=import.loadResults();
foreach(结果中的结果)
{
db.选举结果。添加(r);
}
贡献=import.loadContributions();
foreach(捐款中的r)
{
db.选举捐款。添加(r);
}
db.SaveChanges();
}
}
}
感谢您的帮助


D

通常,您要做的是使用
Assert
类来比较预期值和实际值。实际值通常是方法的返回值。在您的情况下,我建议测试
import.loadResults()的返回值
import.loadContributions()以确保它们返回您期望的内容

我看到你使用EF,这不是你需要进行单元测试的东西,微软已经做过了。如果需要,可以使用集成测试,测试可以访问数据库并检查是否插入了正确的值


很难给出更具体的建议,只需在VisualStudio中创建一个测试项目,玩一圈,然后试着问更具体的问题。您可以用它来理解单元测试的基础知识。

您不是在进行单元测试,而是在进行集成测试(可以假设实体框架工作正常)没问题,如果它回答了您的问题,您可以将其标记为答案;-)