我不确定问题是否正确,但这就是我想要做的事情。
我有一个导入/导出工具,可以使用看起来像这样的Matrix电子表格模板在TestRail中导入/导出测试用例(AP =适用,NA =不适用):
Sections Test1 | Test2 | Test3 | Test4 | Test5
Section 1 NA | AP | AP | AP | NA
Section 2 AP | NA | AP | AP | AP
Section 3 AP | AP | AP | NA | AP
因此,在TestRail中,它看起来像这样:
但是当我从TestRail导出时,列与Import:
的顺序不同Sections Test2 | Test3 | Test4 | Test1 | Test5
Section 1 AP | AP | AP | |
Section 2 | AP | AP | AP | AP
Section 3 AP | AP | | AP | AP
这是我到目前为止使用DataTable并尝试检测以前的测试用例的代码......但经过一些测试后,它根本无法准确/正常工作...特别是有大量的章节和测试:
String previousTC = String.Empty;
// For each Test Case
// Adds column to the Matrix table for each new Test Cases
foreach (var tcase in currentCases)
{
if (!dtMatrix.Columns.Contains(tcase.title))
{
// Adds a new Column if TestCases does not exist
dtMatrix.Columns.Add(tcase.title, typeof(string));
}
else
{
if (dtMatrix.Columns.Contains(previousTC))
{
// Gets the position of the previous TestCase
// in order to put the new one right after
var previous = dtMatrix.Columns.IndexOf(previousTC);
var current = dtMatrix.Columns.IndexOf(tcase.title);
if (previous >= current)
{
dtMatrix.Columns[current].SetOrdinal(previous);
}
}
}
previousTC = tcase.title;
}
请注意,Test1至5仅用于解释我的问题,可以是任何内容,而不是按字母顺序排列。
所以我需要一些帮助来找到能解决我的排序顺序问题的正确算法。
非常感谢!
编辑: 我想也许,基于TestRail的套件,我可以找到合并它们的方法..然后跟踪每个合并的测试用例列。