单元测试CRUD,我应该什么时候进行?

时间:2016-03-16 15:25:17

标签: c# mysql unit-testing mocking repository-pattern

我正在研究一个C#应用程序,而且我在单元测试方面遇到了一些问题(我对这个问题并不是很有经验)。

假设我有以下课程:

public class Product
{
    public int id { get; private set; }
    public string productCode { get; set; }
    public string description { get; set; }

    public Product(int idProduct)
    {
        const string query = "SELECT * FROM products WHERE product_id = idProduct";
        Initialize(query, idProduct);
   }

    private void Initialize(string query,int idQuery)
    {
        //Creation of db reader
        id = reader["product_id"].ToString();
        productCode = reader["product_code_id"].ToString();
        description = reader["description_id"].ToString();
    }

    public void Delete()
    {
        //Query that delete the product from the Db using id
    }

        public void Update()
    {
        //Query that update the product in the database using id,productCode and description
    }
}

我认为单元测试这个类没有任何意义,因为我的所有操作都只是查询。

假设我需要在我的类中添加一个对其中的数据进行操作的方法,在这种情况下,我在线研究我需要模拟数据(因为我不应该访问Db)并且可能实现Interface

这是对的吗?我是否应该仅对具有某些方法的类进行单元测试,这些方法对其中的数据进行操作而不是在Db中进行操作?

如果我决定实施Interface IProductRepository来存储我的所有产品(我应该这样做吗?),该怎么办?在这种情况下我应该mock和单元测试吗?

0 个答案:

没有答案