当预期值出现在实际值之前时,JUnit测试失败

时间:2017-09-20 06:59:12

标签: eclipse unit-testing groovy junit

我正在使用JUnit对我们的groovy类进行单元测试。我读到在使用assertEquals方法时,期望值应该在实际值之前。但是,当我这样做时,我的测试失败了。奇怪的是,它反而取得了成功。 这是我的测试脚本: @测试 public void testEquationMt103ToDsmMapperCharges1(){     sourceData.put" Sender_Ccy1"," GBP"     sourceData.put" Sender_Chg1"," 2000"     ObjectMapper mapper = new ObjectMapper()     String json =     mapper.writerWithDefaultPrettyPrinter()。writeValueAsString(sourceData)     Mt103ToDsmMapper dsmMapper = new Mt103ToDsmMapper()     MmmMessage mmmDsm = dsmMapper.map(json,null)     SwiftOutgoing swiftou = mmmDsm.mmmData     def swfoutActual = swiftou.networkDependentFormat.get" Charges"     JSONArray expected = new JSONArray()     JSONObject expected1 = new JSONObject()     expected1.put" SendersCharges"," GBP2000"     expected.add expected1     log.info" SWFOUTACTUAL:$ {swfoutActual}"     log.info"预期:$ {expected}"     assertEquals"比较测试输入和费用的预期结果",     预期,swfoutActual } 每当我运行这个时,我都会收到此错误: java.lang.AssertionError:比较测试输入和费用的预期结果 预期:其中[{" SendersCharges":" GBP2000"}]>但是< [{SendersCharges = GBP2000}]> 这是控制台日志的片段,包含我正在比较的两个值: 14:48:30.734 [主要] INFO c.m.f.e.m.d.Mt103ToDsmMapperTestCase - SWFOUTACTUAL:[[SendersCharges:GBP2000]] 14:48:30.734 [主要] INFO c.m.f.e.m.d.Mt103ToDsmMapperTestCase - 预期:[[SendersCharges:GBP2000]] 请注意,当我进行断言(实际的,预期的)时,这是成功的。我不知道为什么会这样。你们有什么想法吗?

0 个答案:

没有答案