[英]Unit testing Dapper/SqlConnection queries
我有以下服务,我想为其创建单元测试
public class Service
{
public async Task<IEnumerable<Person>> GetPeople(string connString)
{
var conn = new SqlConnection(connString);
await conn.OpenAsync();
return await conn.QueryAsync<Person>("SELECT * FROM People");
}
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
我将传递一个连接字符串来连接到数据库。 我知道我需要创建一个内存数据库,然后创建 db 结构,然后创建表,然后插入一些数据,然后使用该服务进行查询。
我尝试使用 InMemoryDatabase 但这似乎是针对 EF Code
我的问题是如何为上述将在内存中运行的代码创建单元测试,因为这也将运行 azure。
您必须进行一些重构才能正确地对该类进行单元测试。
connString
作为构造函数参数传递,它不应该是接口的一部分。GetPeople
方法提取接口IService
。Moq
类的框架来配置IService.GetPeople
的预期行为以返回Person
序列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.