Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较使用断言转换为对象的两个json列表_Java_Linux_Json - Fatal编程技术网

Java 比较使用断言转换为对象的两个json列表

Java 比较使用断言转换为对象的两个json列表,java,linux,json,Java,Linux,Json,我连接到两个网站,从每个网站获取json,并将它们转换为java对象。现在这些对象是列表,我想比较两个,看看列表一中的所有内容是否与列表二中的所有内容相同。我尝试了以下方法,但在assertThat下出现了错误,我需要创建一个包含assertThat的新方法,但我只是在编写一个junit测试 ` @测试 public void test_1()引发异常 { List proj1=getProject1(); List proj2=getProject2(); 资产(项目1,项目2); } `这

我连接到两个网站,从每个网站获取json,并将它们转换为java对象。现在这些对象是列表,我想比较两个,看看列表一中的所有内容是否与列表二中的所有内容相同。我尝试了以下方法,但在assertThat下出现了错误,我需要创建一个包含assertThat的新方法,但我只是在编写一个junit测试

`

@测试
public void test_1()引发异常
{
List proj1=getProject1();
List proj2=getProject2();
资产(项目1,项目2);
}

`

这似乎是因为您的hasItem(proj2)实际上传递的是一个完整的列表,而不是要评估的单个项目

例如,如果将其更改为:

assertThat(proj1, hasItem(proj2.get(0)));
它应该是一个有效的方法调用


如果您想比较项目列表,这可能会有所帮助:

我已经导入了静态org.hamcrest.Matchers.hasItem;导入静态org.junit.Assert.assertThat;这很好,听起来您正确地包含了库……可能是传递给AssertManager的参数导致了问题。
assertThat(proj1, hasItem(proj2.get(0)));