首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FitNesse / FitSharp -动态读取ColumnFixture的列

FitNesse / FitSharp -动态读取ColumnFixture的列
EN

Stack Overflow用户
提问于 2017-06-26 15:10:32
回答 1查看 160关注 0票数 3

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

我可以创建像ColumnFixtures、RowFixtures、DoFixtures等普通的fixture,但不能,我正在寻找一种读取列并动态绑定它们的方法。

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

例如:

代码语言:javascript
复制
!|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(';') ... 
   }
}

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 11:02:02

看一下Compute fixture (https://fitsharp.github.io/Fit/ComputeFixture.html)的源代码,看看它是否有帮助。

您可以编写一个像这样动态处理单元格的fixture:

代码语言:javascript
复制
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源代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44754603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档