gpt4 book ai didi

c# - FitNesse/FitSharp - 动态读取 ColumnFixture 的列

转载 作者:行者123 更新时间:2023-11-30 15:57:36 28 4
gpt4 key购买 nike

我正在使用 FitNesse/FitSharp (c#) 进行测试。

我可以创建像 ColumnFixtures、RowFixtures、DoFixtures 等普通夹具,但我正在寻找一种方法来读取列并动态绑定(bind)它们。

这样做的原因是,我自己的库中仍然有大量的 Pojo 对象,不想再次重复所有类成员。因此,我正在寻找一种动态处理列的方法。

例如

!|Create| pojoType | record | pojoName |
|Name | LastName | Address| Misc |
| a | b | c | d |


public class DynamicHandling : DoFixture () {
public void CreateRecord(string type, string name) {
var clazz = GetClazzOfType();

var headers = GetHeadersOfColumn();
var values = GetValuesOfColumn();

var pojo = DoBindingAndAssignValues(headers, rows, clazz);

// ... Continue with whatever e.g. ...

var name = pojo.Name;
var lastName = pojo.LastName;
var address = pojo.Address;

address.split(';') ...
}
}

有什么想法吗?

最佳答案

查看计算夹具的源代码 (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);
}
...
}

您还可以遍历其他行集 - 查看遍历源代码。

关于c# - FitNesse/FitSharp - 动态读取 ColumnFixture 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754603/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com