【问题标题】:Groovy Assertion fail though the values are same尽管值相同,但 Groovy 断言失败
【发布时间】:2016-02-28 01:13:19
【问题描述】:

我正在编写一些肥皂测试用例,但我看到断言失败。我看到这些值是,但不确定它为什么会失败。

这里是代码:-

import com.eviware.soapui.support.XmlHolder
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

def scheduledStartDate = context.expand(     '${testcaseschedule#ResponseAsXml#//Results[1]/ResultSet[1]/Row[1]/SCHEDULEDSTARTDATE[1]}' )


DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"))

Date date = dateFormat.parse(scheduledStartDate)
long unixTimeStamp = (long)date.getTime()


def scheduledDateTime = context.expand( '${testcase#$.data.scheduledDateTime}' )"

log.info(scheduledStartDate);

log.info(scheduledDateTime);

log.info(unixTimeStamp);

assert  unixTimeStamp==scheduledDateTime:"Test Case failed as the date in DB and from API were not equal";

记录的信息: 2 月 27 日星期六 20:00:14 EST 2016:INFO:2016-02-28 00:22:52.0 2016 年 2 月 27 日星期六 20:00:14 EST:INFO:1456618972000 2016 年 2 月 27 日星期六 20:00:14 EST:INFO:1456618972000

感谢您查看我的查询!

【问题讨论】:

  • 您能否分享您在第一条语句中处理的 jdbc 响应?很明显unixTimeStamp是长格式,scheduledDateTime是不同格式。

标签: groovy soapui


【解决方案1】:

问题在于scheduledDateTimeStringunixTimeStamplong。您可以将String 转换为long 以便比较它们。

long scheduledDateTime = context.expand( '${testcase#$.data.scheduledDateTime}' ).toLong()

提示:expand() 返回 String

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多