假设我有一个像下面这样的类(class)。
我不确定如何针对它编写单元/集成测试。是否需要重构?
是否只是添加一个 Add/Find 方法(实际上会有),在测试中调用 Add,然后调用 Delete,然后调用 Find?
public class Repository
{
public void DeleteProduct(int id)
{
var connstring = ""; //Get from web.config
using(SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
SqlCommand command = new SqlCommand("DELETE FROM PRODUCTS WHERE ID = @ID")
command.Paramaters.Add("@ID", id)
command.ExecuteNonQuery();
}
}
}
最佳答案
黄金法则是不要测试framewkrk的代码。除非此方法没有自定义逻辑,否则无需测试。 我认为您想要实现的目标是分离存储库以使单元测试变得容易。最好的方法是为您的存储库创建接口(interface)并模拟它。 如果您确实想创建一些集成测试,那么您必须创建一些测试数据库,您可以在其中进行核弹实验。
关于c# - 如何针对数据库编写集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340924/