JUnit测试显示字符串不相等时应该相等

时间:2016-02-18 04:12:23

标签: java junit

因此,我目前正在进行JUnit测试,以保存和加载JSON格式的保存文件。但是,虽然保存工作没有问题,但我仍然遇到一个问题,我从文件中读取的字符串没有保存在我写入的变量中。

public void loadSettings(Vector<User> U, String url, String filepath) {
        JSONParser parser=new JSONParser();
        try {
            Object obj=parser.parse(new FileReader(filepath));
            JSONObject jsonObject=(JSONObject) obj;
            url=jsonObject.get("URL").toString();
            //System.out.println(URL);
            JSONArray users=(JSONArray)jsonObject.get("Users");
            Iterator<Object> iter=users.iterator();
            while(iter.hasNext()) {
                String temp1=iter.next().toString();
                Long temp2=(Long)iter.next();
                User n=new User(temp1,temp2.intValue());
                U.addElement(n);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

有问题的字符串是&#34; url&#34;串。我有的User类的值插入正常。我不知道问题是什么,我已经在这个问题上工作了好几个小时。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:-1)

网址可能包含一些特殊字符,您可以尝试这样:

URLEncoder.encode("This string has spaces", "UTF-8");

然后存储在文件中。

最后这样做:

url = URLDecoder.decode(jsonObject.get("URL").toString(), "UTF-8");