嗨,我对Maven是全新的,我的Java知识很低,我的编程在其他领域很好,但我有点不知所措,目前这种多模式的大小Maven构建我是试图工作。了解mvn单元测试错误与JSON MockHttpServletResponse测试
我试图运行MVN测试时,安装Maven构建SDK和收到此错误:
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.194 sec <<< FAILURE!
testWriteWithMap(eu.sdk.util.JsonWriterTest) Time elapsed: 0.181 sec <<< FAILURE!
junit.framework.ComparisonFailure: null expected:<{"[b":12,"c":123,"a":"test1"]}> but was:<{"[a":"test1","b":12,"c":123]}>
at junit.framework.Assert.assertEquals(Assert.java:81)
at junit.framework.Assert.assertEquals(Assert.java:87)
at junit.framework.Assert$assertEquals$0.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:169)
at eu.digient.sdk.util.JsonWriterTest.testWriteWithMap(JsonWriterTest.groovy:28)
testConvert2JsonStrWithMap(eu.sdk.util.JsonWriterTest) Time elapsed: 0.001 sec <<< FAILURE!
junit.framework.ComparisonFailure: null expected:<{"[b":12,"c":123,"a":"test1"]}> but was:<{"[a":"test1","b":12,"c":123]}>
at junit.framework.Assert.assertEquals(Assert.java:81)
at junit.framework.Assert.assertEquals(Assert.java:87)
at junit.framework.Assert$assertEquals$0.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:169)
at eu.digient.sdk.util.JsonWriterTest.testConvert2JsonStrWithMap(JsonWriterTest.groovy:85)
我已经查明错误的测试文件,发现测试功能在这里:
@Test
public void testWriteWithMap() {
MockHttpServletResponse response = new MockHttpServletResponse();
Map<String, Object> jsonBean = new HashMap<String, Object>();
jsonBean.put("a", "test1");
jsonBean.put("b", 12);
jsonBean.put("c", new BigDecimal(123));
try {
JsonWriter.write(response, jsonBean);
assertEquals("{\"b\":12,\"c\":123,\"a\":\"test1\"}", response.getContentAsString());
} catch (HttpMessageNotWritableException e) {
fail("fail");
} catch (IOException e) {
fail("fail");
}
}
为什么这个失败,我的假设是这应该是正确的测试,从一个曾经在我的新客户端的服务器项目上工作的代码继承。我真的不明白这个测试目标是什么时候?请问有人能给我启迪吗?
对不起,我在这里很笨,但是这是哪里? “根据Sorted输入参数”我假设我可以定义未分类与已排序。这是为了assertEquals检查吗? – Beloudest
这就是为什么我实际上感到困惑 - 为什么junit测试的比较顺序不同?如果它一直是错误的等... – Beloudest
请参阅'编辑' – VinayVeluri