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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JMockit - 意外調(diào)用

JMockit - 意外調(diào)用

www說(shuō) 2023-04-26 16:49:41
我有一個(gè)使用 JMockit 進(jìn)行單元測(cè)試的簡(jiǎn)單實(shí)現(xiàn)。實(shí)現(xiàn)如下Team班級(jí)public class Team {    private TeamLeader teamLeader;    public Team(TeamLeader teamleader) {        this.teamLeader = teamleader;    }    public boolean hasDiscussion() {        System.out.println("Discussion is hold by " + teamLeader.getName());        Discussion discussion = new Discussion();        return discussion.start();    }}TeamLeader班級(jí)public class TeamLeader {    private String name;    public TeamLeader(String name) {        this.name = name;    }    public String getName() {        return name;    }}Discussion班級(jí)public class Discussion {    public boolean start() {        return false;    }}然后,我有一個(gè)單元測(cè)試來(lái)測(cè)試功能hasDiscussion如下@RunWith(JMockit.class)public class TeamTest {    private Team team;    @Test    public void hasDiscussion(@Mocked TeamLeader teamLeader, @Mocked Discussion discussion) {        new Expectations() {{            teamLeader.getName(); result = "teamleader";            discussion.start(); result = true;        }};        team = new Team(teamLeader);        boolean actualResult = team.hasDiscussion();        new Verifications() {{            assertThat(actualResult, is(true));        }};    }}執(zhí)行測(cè)試時(shí),出現(xiàn)以下錯(cuò)誤Unexpected invocation of:entity.Discussion#Discussion()   on instance: entity.Discussion@7b70deb2when was expecting an invocation of:entity.Discussion#start()   on mock instance: entity.Discussion@6f93ad02mockit.internal.UnexpectedInvocation: Unexpected invocation of:entity.Discussion#Discussion()   on instance: entity.Discussion@7b70deb2when was expecting an invocation of:對(duì)這類(lèi)問(wèn)題有什么想法嗎?
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

發(fā)生這種情況是因?yàn)槟?code>hasDiscussion方法正在創(chuàng)建類(lèi)的新實(shí)例Discussion,在這種情況下,您不能模擬它。要解決這個(gè)問(wèn)題,您可以接收Discuss類(lèi)作為方法的參數(shù)并發(fā)送模擬,我們?cè)?code>Team類(lèi)構(gòu)造函數(shù)中注入 Discuss 類(lèi)。



查看完整回答
反對(duì) 回復(fù) 2023-04-26
  • 1 回答
  • 0 關(guān)注
  • 128 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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