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

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

如何在 JUnit5 中測試列表?

如何在 JUnit5 中測試列表?

天涯盡頭無女友 2022-11-10 16:25:36
當我嘗試測試 2 個 ArraysLists 時出現錯誤。似乎錯誤是在我的 removeEndWith_at 方法中說“toArray() 未定義”。你們能給我一個建議如何測試這兩個 ArraysList 嗎?謝謝。Java 版本:jdk-10.0.2JUnit:5[ArrayListIterator 類]import java.util.Iterator;import java.util.List;public class ArrayListIterator {    /**     * @param wordsAl : list of words     */    public List<String> removeEndWith_at(List<String> wordsAl) {        Iterator<String> iterator = wordsAl.iterator();        while (iterator.hasNext()) {            if (iterator.next().endsWith("at"))                iterator.remove();        }        return wordsAl;    }}[ArrayListIteratorTest 類]import static org.junit.Assert.assertArrayEquals;import java.util.Arrays;import java.util.List;import org.junit.jupiter.api.Test;class ArrayListIteratorTest {    ArrayListIterator alIterator = new ArrayListIterator();    List<String> actualWords = Arrays.asList("Apple", "Bat", "Orange", "Cat");    @Test    void testremoveEndWith_at() {        actualWords = alIterator.removeEndWith_at(actualWords);        List<String> expectedvalue = Arrays.asList("Apple", "Orange");        assertArrayEquals(expectedvalue.toArray(), actualWords.toArray());    }}
查看完整描述

2 回答

?
拉丁的傳說

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

當我嘗試測試 2 個 ArraysLists 時出現錯誤。似乎錯誤是在我的 removeEndWith_at 方法中說“toArray() 未定義”。你們能給我一個建議如何測試這兩個 ArraysList 嗎?


謝謝。


Java 版本:jdk-10.0.2

JUnit:5


[ArrayListIterator 類]


import java.util.Iterator;

import java.util.List;


public class ArrayListIterator {


    /**

     * @param wordsAl : list of words

     */

    public List<String> removeEndWith_at(List<String> wordsAl) {

        Iterator<String> iterator = wordsAl.iterator();

        while (iterator.hasNext()) {

            if (iterator.next().endsWith("at"))

                iterator.remove();

        }


        return wordsAl;

    }


}

[ArrayListIteratorTest 類]


import static org.junit.Assert.assertArrayEquals;


import java.util.Arrays;

import java.util.List;


import org.junit.jupiter.api.Test;


class ArrayListIteratorTest {


    ArrayListIterator alIterator = new ArrayListIterator();

    List<String> actualWords = Arrays.asList("Apple", "Bat", "Orange", "Cat");


    @Test

    void testremoveEndWith_at() {

        actualWords = alIterator.removeEndWith_at(actualWords);

        List<String> expectedvalue = Arrays.asList("Apple", "Orange");

        assertArrayEquals(expectedvalue.toArray(), actualWords.toArray());

    }


}看著那(這


Arrays.asList() 創(chuàng)建的 List 上的 remove() 拋出 UnsupportedOperationException


Arrays.asList()

方法只是在原始元素周圍創(chuàng)建一個包裝器,并且在這個包裝器上沒有實現改變其大小的方法。


另請查看我的方法實現removeEndWith_at。它比你的版本簡單


        /**

     * @param wordsAl : list of words

     */

    public List<String> removeEndWith_at(List<String> wordsAl) {

            wordsAl.removeIf(s -> s.endsWith("at"));

            return wordsAl;

    }


查看完整回答
反對 回復 2022-11-10
?
夢里花落0921

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

在比較List<String>使用 Jupiter Assertion API 的兩個實例時,試試assertLinesMatch



查看完整回答
反對 回復 2022-11-10
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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