Java JSON 单元测试通过但值错误
Java JSON unit test pass with wrong value
我有以下功能:
public class NorthboundApiLogicTest {
@Test
public void testIfParametersValuesAreCorrect() {
String body = "{\"exception\":\"world\",\"error\":\"Not Found\",\"message\":\"hello\""
+ ",\"timestamp\":\"2020-01-07T12:26:48.334386Z\",\"status\":\"404\"}";
try {
JSONAssert.assertEquals("{message:hello, exception:world, status:403, error:Not Found}",
body, false);
} catch (Exception e) {
System.err.println(e);
}
System.out.println(body);
}
}
我运行用Maven进行了这个测试,奇怪的是它成功通过了。
然而,它不应该,因为我断言 status=403
但值是 404
。我究竟做错了什么?
它甚至在对结构执行断言之前就解析 JSON 失败,而您只是通过 catch
记录它。
catch (Exception e) {
System.err.println(e);
}
您需要让该异常从方法中抛出,或者捕获它并使用适当的消息调用 fail()
。
然后解决不可解析的问题 JSON,当然!
我有以下功能:
public class NorthboundApiLogicTest {
@Test
public void testIfParametersValuesAreCorrect() {
String body = "{\"exception\":\"world\",\"error\":\"Not Found\",\"message\":\"hello\""
+ ",\"timestamp\":\"2020-01-07T12:26:48.334386Z\",\"status\":\"404\"}";
try {
JSONAssert.assertEquals("{message:hello, exception:world, status:403, error:Not Found}",
body, false);
} catch (Exception e) {
System.err.println(e);
}
System.out.println(body);
}
}
我运行用Maven进行了这个测试,奇怪的是它成功通过了。
然而,它不应该,因为我断言 status=403
但值是 404
。我究竟做错了什么?
它甚至在对结构执行断言之前就解析 JSON 失败,而您只是通过 catch
记录它。
catch (Exception e) {
System.err.println(e);
}
您需要让该异常从方法中抛出,或者捕获它并使用适当的消息调用 fail()
。
然后解决不可解析的问题 JSON,当然!