2016-09-14 52 views
3

當我爲我的sbt項目運行單元測試(使用sbt clean coverage test)時,我得到的代碼覆蓋率爲〜77%。對於組合的單元和集成測試,您能否實施最低覆蓋率?

當我運行集成測試(sbt clean coverage it:test)時,我得到的代碼覆蓋率爲〜10%。

當我運行兩個(sbt clean coverage test it:test)時,我得到的代碼覆蓋率爲〜84%。

我想設置一個積極的代碼覆蓋率最低,如果它不能滿足構建失敗,但如果我添加這些構建設置:

coverageMinimum := 83 
coverageFailOnMinimum := true 

...然後運行sbt clean coverage test it:test,最小覆蓋單元測試後進行檢查,集成測試可以運行之前,並生成失敗:

[error] Coverage is below minimum [77.0% < 83.0%] 

如果我test之前把it:test,它甚至更糟([10.0% < 83.0%])。

有什麼辦法可以規定只有在單元測試和集成測試運行後,最低83%才應用?或者我註定只能通過我的單元測試來設置最小覆蓋範圍,並且始終在命令行上記住在it:test之前放置test

回答

2

版本1.3.4中刪除了自動測試後覆蓋最小檢查(請參閱問題https://github.com/scoverage/sbt-scoverage/issues/132)。

升級插件版本到最新的1.3.5,並呼籲coverageReport所有的測試,例如:

sbt clean coverage test it:test coverageReport

相關問題