我正在使用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]]
请注意,当我进行断言(实际的,预期的)时,这是成功的。我不知道为什么会这样。你们有什么想法吗?