我正在使用FitNesse / FitSharp(c#)进行测试。
我可以像ColumnFixtures,RowFixtures,DoFixtures等一样创建普通的灯具。但不是我正在寻找一种方法来读取列并动态绑定它们。
原因是,我自己的库中仍然有大量的Pojo对象,并且不想再次重复所有的类成员。因此,我正在寻找一种动态处理列的方法。
e.g。
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath( $dom );
$thirdColumns = $xpath->query( '//table/tbody/tr/td[3]' );
$result = array();
foreach( $thirdColumns as $thirdColumn )
{
$result[] = $thirdColumn->nodeValue;
}
var_dump( $result );
有什么想法吗?
答案 0 :(得分:3)
查看Compute fixture(https://fitsharp.github.io/Fit/ComputeFixture.html)的源代码,看看它是否有帮助。
您可以编写一个动态处理单元格的夹具,如下所示:
public class MyFixture: Interpreter {
public void Interpret(CellProcessor processor, Tree<Cell> table) {
new Traverse<Cell>()
.Rows.Header(row => FunctionThatDoesSomethingWithTheHeaderRow(row))
.Rows.Rest(row => FunctionThatDoesSomethingWithEachSubsequentRow(row))
.VisitTable(table);
}
...
}
您可以遍历其他行集 - 请查看Traverse源代码。