В приложении, предназначенном для чтения определенной таблицы c, в которой предполагается наличие определенных таблиц, существует метод, предназначенный для возврата этих таблиц. Для этого используется библиотека Epplus:
public ExcelWorksheet findExcelSheet(ExcelPackage spreadsheet, string v);
{
foreach (var sheet in spreadsheet.Workbook.Worksheets)
{
if ((sheet.Name).CompareTo(v)==0)
{
// matching sheet found
return sheet;
}
}
// at this point, the sheet has not been found
// we are assuming the user has supplied the correct spreadsheet, with the required worksheets
// if not, the program cannot continue, as it is totally dependent on this. It will not work with any old spreadsheet
throw new Exception("Could not find required Excel worksheet: " + v);
}
Как указано в коде, его цель - проверить, есть ли рабочие листы с необходимыми именами, и вернуть их как ExcelWorksheet
объекты. Они вызываются три раза, так как требуется три требуемых рабочих листа.
Этот метод требует модульного тестирования с Microsoft.VisualStudio.TestTools.UnitTesting
public void findExcelSheet_Test()
{
// arrange
ExcelPackage testSpreadsheet = new ExcelPackage();
ExcelWorksheet testWsFPS = testSpreadsheet.Workbook.Worksheets.Add("FPS");
ExcelWorksheet testWsDRS = testSpreadsheet.Workbook.Worksheets.Add("DRS");
ExcelWorksheet testWsDPC = testSpreadsheet.Workbook.Worksheets.Add("DPC");
// act
// assert
}
Метод тестирования, описанный выше является отправной точкой. Что было бы лучшим способом go об этом?