1

我正在尝试将 HashMap 参数传递给我在 Fitnesse 中使用的函数。但是,什么都没有正确传递,因为我在 Eclipse 中进行远程调试时得到“{}”。

以下是我正在调用的方法:

public String issueHttpRequest(String url, Map<String,String> params){
client = new HttpClient();
PostMethod post = createPostMethod(url);
for (Map.Entry<String, String> entry : params.entrySet()){
    post.addParameter(entry.getKey(), entry.getValue());
    }

client.executeMethod(post);
String response = post.getResponseBodyAsString();

return response;
}

这是我在 FitNesse 上的称呼:

!|script|CLASS_NAME|
|check|issueHttpRequest;|login|!{username:"guest",password:"guest"}|{"status":"success"}|

在 Eclipse 中进行远程调试时,参数作为空括号 {} 传递。

任何帮助,将不胜感激。提前致谢。

4

1 回答 1

0

我注意到!脚本表之前的字符可能是个问题。尝试不:

|脚本|CLASS_NAME| |check|issueHttpRequest;|login|!{username:"guest",password:"guest"}|{"status":"success"}|

检查SLIM MarkupHashTable DataType以供参考。

我只尝试过 map 参数确实适用于脚本表中的 SLIM 测试。因此,如果我提出的仍然解决方法确实有效,请确保您在测试之前定义了这个:

!define TEST_SYSTEM {slim}

于 2016-03-15T13:46:36.937 回答