Я создаю небольшое веб-приложение, которое будет размещаться в более крупной системе CMS.Целью этого приложения является проверка электронной таблицы, которая загружается и используется другой частью приложения.
Я написал несколько тестов для проверки листа, когда я занимался разработкой и планировал повторно использовать тесты в качестве валидатора.Я могу запустить тесты из кода, но не могу найти способ передать местоположение загруженной электронной таблицы в модульные тесты.
Вот код:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack)
{
if(SpreadsheetFile.HasFile)
{
string newFileName = Guid.NewGuid() + ".xlsm";
string path = Server.MapPath("~/App_Data/" + newFileName);
//TODO: how do I pass this in?
SpreadsheetFile.PostedFile.SaveAs(path);
CoreExtensions.Host.InitializeService();
TestPackage testPackage = new TestPackage("Test");
testPackage.Assemblies.Add(Server.MapPath("~/bin/Redacted.Tests.dll"));
//testPackage.Settings["spreadsheet"] = path;
TestSuiteBuilder builder = new TestSuiteBuilder();
TestFilter filter = new NameFilter( new TestName() { Name = "RedactedTests" } );
TestSuite suite = builder.Build(testPackage);
TestResult testResult = suite.Run( new NullListener(), filter );
rptResults.DataSource = testResult.Results;
rptResults.DataBind();
if (testResult.IsSuccess)
{
ResultPlaceHolder.Text = "<span class=\"success\">Upload succeeded and all tests passed.</span>";
}
else
{
ResultPlaceHolder.Text = "<span class=\"fail\">Upload succeeded but tests failed.</span>";
}
}
else
{
ResultPlaceHolder.Text = "<span class=\"fail\">Upload failed.</span>";
}
}
}
}
Я былДумаете о том, чтобы динамически выписать приложение?Я делаю это неправильно?
Редактировать : немного прояснить ситуацию.Приведенный выше фрагмент кода представляет собой код ASPX, отстающий от WebForm.SpreadSheetFile - это элемент управления asp: FileUpload.Модульные тесты - это больше интеграционных тестов, так как они работают с физической таблицей.В моем тестировании я копирую это из App_Data (где электронная таблица находится в svn) в каталог, к которому может обратиться модульный тест.
Требования состоят в том, чтобы я предоставил механизм проверки электронной таблицы, а затем обновил ее в другом веб-приложении.Поэтому я подумал, что смогу повторно использовать тесты, но это выглядит не очень хорошо!