有没有办法控制ANT JUnit XML结果中时间戳的时区?

时间:2018-07-02 20:54:59

标签: xml junit ant timezone timestamp

将生成的JUnit XML传递给另一个过程,该过程将读取的Timestamp作为本地时区,因此最终将日期推迟了4个小时。

这是我们正在运行的ANT脚本的片段:

<tstamp>
        <format property="datetimeTZ" pattern="EEE, MMM dd, yyyy hh:mm:ss a z"/>
</tstamp>
<echo>the current date is ${datetimeTZ}</echo>

<junit printsummary="yes" fork="no" haltonfailure="yes">
    <formatter type="xml" />
    <test name="SomeTest"/>
        <classpath>
            <path refid="classpath" />
        </classpath>
</junit>

ANT控制台将显示正确的本地时间,但是生成的JUnit XML包含:

<testsuite errors="0" failures="0" hostname="MyHost" name="SomeTest" tests="2" time="0.566" timestamp="2018-07-02T20:00:27">

时间戳为:“ 2018-07-02T20:00:27”

问题在于它已在@美国东部时间2018-07-02T16:00:27运行

我尝试使用以下方法在分支的JVM上设置用户时区:

        <jvmarg value="-Duser.timezone=US/Eastern"/>

但是产生了相同的XML。

我能找到的唯一其他答案是使用XLS进行显示或使用XSLT进行翻译[link]

我无法控制ANT Jar,因为它们是Jenkins下载的库存。

是否缺少使XML结果包含本地时间戳的ANT或Java参数?

0 个答案:

没有答案