大佬教程收集整理的这篇文章主要介绍了C# NUnit Mock Database Setup 来测试嵌入式 SQL,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
项目框架:.NetFramework(不是 .NetCore)
UnitTest 框架:NUnit 3.13.0
项目建设样例:
Program.cs:
class Program
{
static voID Main(String[] args)
{
sqlConnection connection = new sqlConnection("Server=servername;Database=dbname;Trusted_Connection=True;");
connection.open();
TestProcess _process = new TestProcess();
_process.Run(connection);
connection.close();
}
}
TestProcess.cs:
class TestProcess
{
public voID Run(sqlConnection connection)
{
List<studentModel> students = GetFromDb(connection);
//Do something with students
}
public voID GetFromDb(sqlConnection connection)
{
List<studentModel> students = new List<studentModel>();
DataTabel table = new Datatable();
//This Could be a vIEw or a table
using (sqlCommand command = new sqlCommand("SELECT * FROM dbname.vwstudents",connection)
{
using (sqlReader dataRead = command.ExecuteReader())
{
tabel.load(dataRead);
}
}
foreach (DaTarow row in table.Rows)
{
students.Add(new student(row));
}
return students;
}
}
PS:代码运行正常,这只是一个示例,所以忽略你看到的任何问题
所以,我正在尝试为这种设置编写单元测试。假设我正在为 GetFromDb() 函数编写单元测试。有没有一种方法可以在不实际查询 db.data 的情况下模拟数据库。或者也许我可以创建一个外观。我没有使用 EFCore 创建上下文并直接使用 Facade。
我知道使用嵌入式 sql 不是最好的方法,但这可能是我的项目最简单的方法。我已经将 sqlconnection 移到 main() 以使其更好一点。无论如何,在不接触数据库的情况下对这个设置进行单元测试的最佳方法是什么。这甚至可能吗? 此外,我并不热衷于重做该项目,但如果您认为移动一些东西会帮助我编写更好的测试,我会全力以赴。
先谢谢你!
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的C# NUnit Mock Database Setup 来测试嵌入式 SQL全部内容,希望文章能够帮你解决C# NUnit Mock Database Setup 来测试嵌入式 SQL所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。