Playframework 1.3:如何在FunctinalTest中模拟重复字段?

Playframework 1.3:如何在FunctinalTest中模拟重复字段?,playframework,playframework-1.x,Playframework,Playframework 1.x,我正在使用Play 1.3,我的角色模型如下所示: class Role{ // blabla public String name; @OneToMany(mappedby="role") public List<Resource> resources = new ArrayList<>(); } 现在我需要在上面编写一个功能测试用例: HashMap<String, String> params = new HashMap<>

我正在使用Play 1.3,我的角色模型如下所示:

class Role{
  // blabla
  public String name;
  @OneToMany(mappedby="role")
  public List<Resource> resources = new ArrayList<>();
}
现在我需要在上面编写一个功能测试用例:

HashMap<String, String> params = new HashMap<>();
params.put("role.name", "new role abc");
// TODO : I need to add multiple resources here   <<<----- Problem here
response = POST("/roles/save", params);
// blabla
在游戏中有解决这个问题的方法吗?我只需要向controllerIt发送重复的resources.id。它以真实浏览器的形式工作,但只在此处发布accept Map。

这里有一个章节可以帮助您:

Play还使用相同的简单命名约定规则自动绑定任何模型类

public static void create(Client client ) {
    client.save();
    show(client);
}
使用此操作创建客户端的查询字符串如下所示:

?client.name=Zenexity&client.email=contact@zenexity.fr
Play创建一个客户端实例,并将HTTP参数名称解析为服务器上的属性 客户端对象。未解析的参数将被安全地忽略。类型不匹配也可以安全地忽略

要更新模型对象列表,请使用数组表示法并引用对象的ID。例如,假设客户机模型有一个声明为列表客户的客户模型列表。要更新客户列表,请提供如下查询字符串:

?client.customers[0].id=123
&client.customers[1].id=456
&client.customers[2].id=789
所以我想说这样的事情应该能解决你的问题:

HashMap<String, String> params = new HashMap<>();
params.put("role.name", "new role abc");
params.put("role.resources[0].id", "1");
params.put("role.resources[1].id", "10"); // etc.
response = POST("/roles/save", params);
// blabla
HashMap<String, String> params = new HashMap<>();
params.put("role.name", "new role abc");
params.put("role.resources[0].id", "1");
params.put("role.resources[1].id", "10"); // etc.
response = POST("/roles/save", params);
// blabla