測試報(bào)告
cucumber可以通過添加插件生成json或者h(yuǎn)tml的報(bào)告。使用方法很簡單,在@CucumberOptions的plugin里添加"html:target/cucumber"或者"json:target/cucumber.json",cucumber運(yùn)行結(jié)果后會(huì)在對(duì)應(yīng)的目錄下生成html報(bào)告或者json文件。路徑可自行修改。
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty","html:target/cucumber","json:target/cucumber.json"}, features = "classpath:cucumber/features")
public class CucumberTest {
}

image.png
jenkins集成
和jenkins集成的大致原理是,jenkins讀取cucmber插件生成的json文件,然后根據(jù)json結(jié)果生成圖標(biāo)報(bào)告,因此與jenkins集成的話,需要根據(jù)上面所述,增加json報(bào)告的插件。
jenkins配置
- 如果是使用maven的話,相信大部分公司在用jenkins部署的時(shí)候,都是把測試跳過了。這時(shí)候就需要改下配置,把-DskipTests 改成 -Dtest CucumberTest -DfailIfNoTests = false。-Dtest CucumberTest是指定只運(yùn)行CucumberTest這個(gè)測試類,CucumberTest是cucumber的啟動(dòng)類,根據(jù)項(xiàng)目實(shí)際類名修改。-DfailIfNoTests = false是為了避免沒有找到這個(gè)類的時(shí)候部署失敗。像一個(gè)項(xiàng)目下有多個(gè)模塊的情況,如果不是全部模塊都有cucumber測試類的話,就會(huì)出現(xiàn)部署失敗的情況。
-
jenkins需要下載一個(gè)cucumber-reports插件。下載安裝好后,Post-build Actions會(huì)增加cucumber reports
image.png
需要設(shè)置的是JSON Report Location,用于定位cucumber生成的json報(bào)告文件(下圖還沒經(jīng)過設(shè)置)
image.png

