小编mar*_*chi的帖子

如何在 JUnit 中测试错误路径和极端情况?

我有代码,我必须为它编写 JUnit 测试。我已经为快乐路径编写了测试,但我必须为极端情况和错误路径编写测试。你能帮我找到解决方案吗?

public String reverseWords(String input) {
    String oneOrMoreSpaces = "\\s+";
    String[] words = input.split(oneOrMoreSpaces);
    String completeAnagram = "";

    for (int i = 0; i < words.length; i++) {
        char[] symbol = words[i].toCharArray();
        char newSymbolSequence;
        int j = symbol.length - 1, k = 0;

        while (k < j) {
            if (!Character.isAlphabetic(symbol[k]))
                k++;
            else if (!Character.isAlphabetic(symbol[j]))
                j--;
            else {
                newSymbolSequence = symbol[k];
                symbol[k] = symbol[j];
                symbol[j] = newSymbolSequence;
                k++;
                j--;
            }
        }
        completeAnagram = new String(symbol);
    }
    return completeAnagram;
}
Run Code Online (Sandbox Code Playgroud)

java junit

1
推荐指数
1
解决办法
357
查看次数

如何使用java流获取字符串的特殊部分?

我有文件 abbreviations.txt,其中包含特殊信息:

示例 abbreviations.txt :

PCAP_Personal Computer_Apple
NBHP_NoteBook_Hewlett Packard
TVSG_Televisor_Samsung
Run Code Online (Sandbox Code Playgroud)

我需要将所有品牌名称放入新的列表字符串中。我正在尝试使用这个:

 Stream<String> abbreviations = Files.lines(Paths.get("src/main/resources/raceData/abbreviations.txt"))
            .flatMap(Pattern.compile("_")::splitAsStream);
    List<String> dates = abbreviations.collect(Collectors.toList());
    dates.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

但作为 List 我得到:

PCAP_Personal Computer
Apple
TVSG_Televisor
Samsung
NBHP_NoteBook
Hewlett Packard
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

1
推荐指数
1
解决办法
79
查看次数

标签 统计

java ×2

java-8 ×1

java-stream ×1

junit ×1