第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Windows,Gradle和Cucumber組合在生成報告時會引發(fā)IOException

Windows,Gradle和Cucumber組合在生成報告時會引發(fā)IOException

慕田峪7331174 2022-08-03 12:42:13
我正在開發(fā)一個項目,該項目使用Windows,Java,Groovy,Gradle和Cucumber的組合。這種組合給我的Windows機器上帶來了一些問題,而我的*NIX同事沒有遇到這些問題。運行 gradle 構(gòu)建時,gradle 希望輸出一些報告。這些報告的位置和文件名顯然由Cucumber測試的定義或輸出決定。不幸的是,使用的名稱不能用作文件名,因此我為每個測試報告都獲得了一個IOException。對于黃瓜測試,我們使用以下結(jié)構(gòu):  Scenario Outline: Receive and parse ReturnItem from Service    Given The message from service return item outlined in <messagePath>    When We process the message    Then XXX posted a message to YYY on topic <topic> with event <eventType>    And payload matches <resultPath> | messagePath               | topic      | eventType  | resultPath                 | | /test/testxml.xml         | test_topic | EVENT_TYPE | /result/result.json        |運行此命令后,我收到以下異常:Caused by: org.gradle.api.UncheckedIOException: Could not write to file 'C:\xxx\project\build\reports\tests\test\packages\| \test\testxml.xml | test_topic | EVENT_TYPE | \result\result.html'.        at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:151)        at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:127)        at org.gradle.internal.IoActions.writeTextFile(IoActions.java:45)        at org.gradle.reporting.HtmlReportRenderer$DefaultHtmlReportContext.renderHtmlPage(HtmlReportRenderer.java:118)        at org.gradle.api.internal.tasks.testing.report.DefaultTestReport$HtmlReportFileGenerator.run(DefaultTestReport.java:147)        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)有誰知道如何解決這個問題?我能想到的唯一“解決方案”是禁用報告,這有效,但更多的是一種解決方法,而不是解決方案。為了禁用,我在gradle.build中使用了以下配置:    apply plugin: 'java'    apply plugin: 'groovy'    test {        reports {            junitXml.enabled = false            html.enabled = false        }    }
查看完整描述

2 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

根據(jù)提供的信息,它看起來像是在嘗試創(chuàng)建一個名為:

'C:\xxx\project\project-test\build\reports\tests\test\packages\| \test\testxml.xml | test_topic | EVENT_TYPE | \result'

你能展示代碼嗎?我懷疑你正在傳遞整行數(shù)據(jù),而不僅僅是(我將瘋狂地猜測你正在對數(shù)組執(zhí)行.toString()而不是傳入數(shù)組的第一個元素)messagePathmessagePath


查看完整回答
反對 回復(fù) 2022-08-03
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

我終于找到了罪魁禍?zhǔn)?。顯然,這些文件名對應(yīng)于 JUnit 用于生成 Cucumber 測試報告的默認(rèn)行為。在 *NIX 上,這不會提供任何問題。但是,在 Windows 上,由于 中的管道,這將導(dǎo)致異常。這顯然有些特別,因為我在互聯(lián)網(wǎng)上發(fā)現(xiàn)的大多數(shù)例外都是s。這就解釋了為什么我花了這么長時間才找到答案,我專注于例外。ExamplesIOExceptionFileNotFoundException


此處的解決方案是在運行 Cucumber 測試時使用以下各項作為注釋:。JUnitOption@CucumberOptions--filename-compatible-names


Java & Spring 的代碼示例如下所示:


@RunWith(Cucumber.class)

@CucumberOptions(junit = {"--filename-compatible-names"})

public class CucumberRunner {

}

如果這些不間斷的操作系統(tǒng)相關(guān)選項是默認(rèn)的而不是可選的,那就太好了。


查看完整回答
反對 回復(fù) 2022-08-03
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號