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

标签 java linux json

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

`

@Test
   public void test_1() throws Exception 
{

        List<Sample> proj1 = getProject1();
        List<Sample> proj2 = getProject2();
        assertThat(proj1, hasItem(proj2));
   }

`

最佳答案

看起来是因为您的 hasItem(proj2) 实际上传递的是完整列表,而不是要评估的单个项目。

例如,如果您将其更改为:

assertThat(proj1, hasItem(proj2.get(0)));

它应该是一个有效的方法调用

如果您想比较项目列表,那么这可能会有所帮助:http://junit.sourceforge.net/javadoc/org/junit/matchers/JUnitMatchers.html

关于java - 比较两个使用断言转换为对象的json列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18719225/

相关文章:

Java Selenium 3.5.3 等待 css-class 更改

java - PDFbox加载大文件

linux - 在树莓派中使用 tcpdump/tshark 读取 WLAN 链路层包

linux - 记录运行 shell 脚本时产生的进程

javascript - 为什么 JSON.parse 的第二个参数叫做 “reviver” ?

java - 如何升级 javax.naming.* 和 javax.xml.* 导入以与 java 10 兼容

java - 将包含整数文字(十进制、十六进制和八进制表示法)的 java 字符串解释为整数值

linux - 如何在第二组单引号之间制作awk抓取字符串

sql - json在sql中提取多级值

java - GSON 没有为作为接口(interface)的类型调用我的 TypeAdapter