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

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

為構造函數編寫 JUnit 測試用例

為構造函數編寫 JUnit 測試用例

瀟瀟雨雨 2023-08-04 15:36:38
我的學校作業(yè)涉及學習如何使用 JUnit4。我需要確保這個構造函數正常工作,但是,我不確定如何做到這一點。有一個用于平衡的 getter,因此測試構造函數是否可以使用它非常容易,但是,我不知道如何編寫涉及 user 和 pass 的測試用例,因為它們沒有 getter。我是否為每個單獨的參數編寫一個案例?為返回值的方法編寫案例并不太困難,但我對為這個構造函數編寫案例一無所知。謝謝!public class BankAccount {    // Starting balance    private float balance = 0.0f;    // Username and password    private char[] username = null;    private char[] password = null;    public BankAccount(float balance, char[] user,char[] pass) {        this.balance = balance;        this.username = user;        this.password = pass;    }}
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

在這種情況下,您應該編寫一個測試。您不需要再寫了,因為它只是重復的。此測試應控制字段分配:


@Test

public void propertiesAreSetOnBankAccountConstructor() {

    float balance = 100F;

    char[] userNameArray = {'u'};

    char[] passArray = {'p'};

    BankAccount testedObject = new BankAccount(balance, userNameArray, passArray);


    assertEquals(balance, testedObject.getBalance(), 0F);

    assertSame(userNameArray, testedObject.getUsername());

    assertSame(passArray, testedObject.getPassword());

}

更新:如果沒有可以使用的吸氣劑org.springframework.test.util.ReflectionTestUtils(或者只是純反射):


@Test

public void propertiesAreSetOnBankAccountConstructor() {

    float balance = 100F;

    char[] userNameArray = {'u'};

    char[] passArray = {'p'};

    BankAccount testedObject = new BankAccount(balance, userNameArray, passArray);


    assertEquals(balance, ((Float)ReflectionTestUtils.getField(testedObject, "balance")), 0F);

    assertSame(userNameArray, ReflectionTestUtils.getField(testedObject, "username"));

    assertSame(passArray, ReflectionTestUtils.getField(testedObject, "password"));

}


查看完整回答
反對 回復 2023-08-04
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

請參考這個例子。


import static org.junit.Assert.assertThat;

import org.junit.Test; 

public class CalculatorTest {


    @Test

        public void constructorTest(){

        private Calculator c;

        c = new Calculator(4, 5);

        assertThat(9, is(c.sum()));

    }



}


查看完整回答
反對 回復 2023-08-04
  • 2 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號