Я выполняю тесты, управляемые данными, передавая данные, предоставленные в файле с именем «data.csv». Требование таково, что после выполнения тестовых методов он должен показывать результаты выполнения (т. Е. Pass/fail) для каждого тестового метода (или каждой строки из этого входного файла) в этом же файле, то есть «data.csv», обновляя результаты в этот файл.Как написать результаты тестов codedui в файл csv с помощью C#?
0
A
ответ
0
В приведенной ниже программе будет добавлен новый столбец (названный как «Результат») в выходной файл.
/*
* OLD data:
* Column1,Column2,Column3
* A,B,C
*/
//total number of records should be same
List<string> newColumnData = new List<string>() { "Pass" }; // This list //can be the output for all the iterations that you have stored in a list
List<string> lines = File.ReadAllLines("C://test.csv").ToList();
//add new column to the header row
lines[0] += ",Column 4";
int index = 1;
//add new column value for each row.
lines.Skip(1).ToList().ForEach(line =>
{
//-1 for header
lines[index] += "," + newColumnData[index - 1];
index++;
});
//write the new content
File.WriteAllLines("C://test.csv", lines);
/*
* NEW data:
* Column1,Column2,Column3,Result
* A,B,C, Pass
*/
0
Вы можете использовать любой из каталогов, предоставленных из TestContext
писать свой файл.
TestContext.TestRunResultsDirectory
TestContext.TestResultsDirectory
TestContext.TestRunDirectory
Но если вы пытаетесь генерировать данные/статистику для тестовых прогонов я бы рекомендовал использовать MTM и систему тестирования, связанную автоматизацию, Она будет отслеживать каждый тест когда прибежал и производит отчетности (круговые диаграммы, например) о том, что положение дел.
0
public controlTypeEntered wpf_Control<controlTypeEntered>(List<wpfControls_PropertyTypes> propertyType, List<String> propertyValue, WpfControl controlWindow) where controlTypeEntered : WpfControl
{
controlTypeEntered wpfElement = (controlTypeEntered)Activator.CreateInstance(typeof(controlTypeEntered), new object[] { controlWindow });
Hashtable ht = new Hashtable();
for (var i = 0; i < propertyType.Count; i++)
{
ht.Add(propertyType[i], propertyValue[i]);
}
for (var i = 0; i < propertyType.Count; i++)
{
// Identifying the control on basis of its search properties.
if (propertyType[i] == wpfControls_PropertyTypes.ClassName)
{
wpfElement.SearchProperties[WpfControl.PropertyNames.ClassName] = propertyValue[i];
}
else if (propertyType[i] == wpfControls_PropertyTypes.ControlType)
{
wpfElement.SearchProperties[WpfControl.PropertyNames.ControlType] = propertyValue[i];
}
else if (propertyType[i] == wpfControls_PropertyTypes.FriendlyName)
{
wpfElement.SearchProperties[WpfControl.PropertyNames.FriendlyName] = propertyValue[i];
}
else if (propertyType[i] == wpfControls_PropertyTypes.Name)
{
wpfElement.SearchProperties[WpfControl.PropertyNames.Name] = propertyValue[i];
}
else if (propertyType[i] == wpfControls_PropertyTypes.TechnologyName)
{
wpfElement.SearchProperties[WpfControl.PropertyNames.TechnologyName] = propertyValue[i];
}
}
return (controlTypeEntered)Convert.ChangeType(wpfElement, typeof(controlTypeEntered));
}