可以说我有一个像下面这样的类。如何写数据库集成测试
我不知道如何编写一个单元/集成测试。它需要重构吗?
它只是添加一个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();
}
}
}
我想指出你刚发布的另一个问题分钟前:http://stackoverflow.com/questions/15340569/tdd-100-coverage-for-methods-that-wrap-sql/15340652?noredirect=1 #comment21666041_15340652 – 2013-03-11 14:24:05
作为存储库的集成测试,您对我的建议似乎也可以。添加,然后删除,然后检查它是否仍然在数据库中。但是,我更喜欢围绕用例进行集成测试,而不是类。 – 2013-03-11 14:26:30