我目前正在开发一个项目,该项目的方法具有参数、复杂对象(主要是存储库对象)。测试必须使用 MSTest 完成。在 TestInitialize 方法中创建对象是否是一种明智的方法,以便它们可以用作用于在测试方法中作为参数传递给实际方法的参数?请提出更好的替代方案。
我在下面附上了需要进行单元测试的方法的示例代码(Exectue() 方法)
public class AddOrdersToDbCommand
{
private IOrdersRepository _ordersRepository;
private OrderSetting _ordersSetting;
public AddOrdersToDbCommand(IOrdersRepository ordersRepository, OrderSetting ordersSetting)
{
_ordersRepository = ordersRepository;
_ordersSetting = ordersSetting;
}
public void Execute()
{
OrderSetting modifyOrderSettings = _ordersRepository.Get(_ordersSetting.Id);
modifyOrderSettings.Name = _ordersSetting.Name;
modifyOrderSettings.Status = _ordersSetting.Status;
modifyOrderSettings.UpdatedBy = _ordersSetting.UpdatedBy;
modifyOrderSettings.UpdatedDate = _ordersSetting.UpdatedDate;
_ordersRepository.SaveOrUpdate(modifyOrderSettings);
_ordersRepository.DbContext.CommitChanges();
}
}