У меня есть метод, который преобразует CellSet в DataTable . Что-то вроде этого:
public DataTable ConvertCellSetToDataTable(CellSet cellSet)
{
if (cellSet == null)
{
return null;
}
var dataTable = new DataTable();
SetColumns(cellSet, dataTable);
WriteValues(cellSet, dataTable);
return dataTable;
}
Теперь я хочу написать модульный тест для этого метода. Обычно я бы использовал new для создания экземпляра, но на этот раз я не вижу никакого общедоступного метода конструктора этого класса.
Итак, могу ли я в любом случае
- макет объекта CellSet
- и изменить его свойства, такие как оси?
Rhino.Mocks — мой выбор для фреймворка модульного тестирования.
SetColumns
иWriteValues
. Нужно посмотреть, какие свойства/методыCellSet
они используют. Затем я могу показать вам, что нужно абстрагировать, чтобы вы не были напрямую связаны с классомCellSet
. Большинство классов в пространстве именMicrosoft.AnalysisServices.AdomdClient
запечатаны и не предоставляют общедоступных конструкторов, что делает их очень сложными для имитации/подделки. - person Nkosi   schedule 20.04.2016