Mocking przy użyciu Moq in c #
Mam następujący kod:
public interface IProductDataAccess
{
bool CreateProduct(Product newProduct);
}
KlasaProductDataAccess
implementuje ten interfejs.
public class ProductBusiness
{
public bool CreateProduct(Product newProduct)
{
IProductDataAccess pda = new ProductDataAccess();
bool result = pda.CreateProduct(newProduct);
return result;
}
}
W tym przypadku, jak utworzyć test jednostkowy dlaCreateProduct
etoda @, wyśmiewającIProductDataAccess
nterfejs @ Myślałem o publicznym wystąpieniuIProductDataAccess
w ciąguProductBusiness
i zainicjuj go za pomocąMock<IProductDataAccess>
obiekt, ale ujawnianie dostępu do danych w warstwie interfejsu użytkownika nie jest dobrą praktyką. Czy ktoś może mi pomóc