嗨,我對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