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

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

盡管進(jìn)行了測試,Jacoco 0.8.0 仍然在所有 switch 情況下標(biāo)記 throw

盡管進(jìn)行了測試,Jacoco 0.8.0 仍然在所有 switch 情況下標(biāo)記 throw

慕的地8271018 2023-08-09 15:34:55
我正在使用“Jacoco 0.8.0”。我有一個 switch 語句,其中包含所有情況的測試。Jacoco 在 switch 語句中標(biāo)記每種情況下的 throw 和 Break。默認(rèn)情況下的情況和中斷是未標(biāo)記的。為什么要標(biāo)記這些?但我運(yùn)行的是修復(fù)后的 0.8.0,問題略有不同。再次:public class MyClass{? ? public void myMethod(String let) {? ? ? ? ? ?switch (let) {? ? ? ? ? ? ? ?case "A":? ? ? ? ? ? ? ? ? ?throw new Exception();? ? ? ? ? ? ? ? ? ?break;? ? ? ? ? ? ? ?default:? ? ? ? ? ? ? ? ? ?break;? ? ? ? ? ?}? ? ? }}每個測試:@Test(expected = Exception.class)? ? public void testMyMethodA() {? ? ? ? MyClass class = new MyClass();? ? ? ?class.myMethod("A");? ? }@Test(expected = Exception.class)? ? public void testMyMethodDefault() {? ? ? ? MyClass class = new MyClass();? ? ? ?class.myMethod("Z");? ? }標(biāo)志示例:public class MyClass{? ? public void myMethod(String let) {[YELLOW]? switch (let) {? ? ? ? ? ? ? ?case "A":[RED]? ? ? ? ? throw new Exception();[RED]? ? ? ? ? break;? ? ? ? ? ? ? ?default:? ? ? ? ? ? ? ? ? ?break;? ? ? ? ? ?}? ? ? }}Jacoco 將 throw 語句和中斷標(biāo)記為未經(jīng)測試。它將交換機(jī)標(biāo)記為部分測試。我預(yù)計這些都會被涵蓋。
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個贊

首先你的 MRE


public class MyClass{


? ? public void myMethod(String let) {

? ? ? ? ? ?switch (let) {

? ? ? ? ? ? ? ?case "A":

? ? ? ? ? ? ? ? ? ?throw new Exception();

? ? ? ? ? ? ? ? ? ?break;


? ? ? ? ? ? ? ?default:

? ? ? ? ? ? ? ? ? ?break;

? ? ? ? ? ?}

? ? ? }


}

無法編譯


javac --version

javac 11.0.3

因?yàn)橐韵洛e誤


javac MyClass.java

MyClass.java:7: error: unreachable statement

? ? ? ? ? ? ? ? ? ?break;

? ? ? ? ? ? ? ? ? ?^

MyClass.java:6: error: unreported exception Exception; must be caught or declared to be thrown

? ? ? ? ? ? ? ? ? ?throw new Exception();

? ? ? ? ? ? ? ? ? ?^

2 errors

包含

版本0.8.2 (2018/08/21)

  • 現(xiàn)在,在生成報告期間,可以正確過濾掉 javac 為針對少量情況的值的switch語句生成的部分字節(jié)碼(GitHub?#730?)。java.lang.String

所以對于更正的例子

class Example {

? ? public void myMethod(String let) {

? ? ? ? switch (let) {

? ? ? ? case "A":

? ? ? ? ? ? throw new RuntimeException();

? ? ? ? default:

? ? ? ? ? ? break;

? ? ? ? }

? ? }


? ? public static void main(String[] args) {

? ? ? ? for (String s : new String[]{"A", "B"}) {

? ? ? ? ? ? try {

? ? ? ? ? ? ? ? new Example().myMethod(s);

? ? ? ? ? ? } catch (Exception ignore) {

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

JaCoCo 0.8.4生成以下預(yù)期報告


javac Example.java -d classes


java -javaagent:jacoco-0.8.4/lib/jacocoagent.jar -cp classes Example


java -jar jacoco-0.8.4/lib/jacococli.jar report \

? ? jacoco.exec \

? ? --classfiles classes \

? ? --sourcefiles . \

? ? --html report

https://img2.sycdn.imooc.com/64d341dd00015d8206300450.jpg

查看完整回答
反對 回復(fù) 2023-08-09
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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