当前位置: 首页 > 知识库问答 >
问题:

我们如何在Java中编写长度()>255的Junits,它需要子字符串(0,255)

隆谦
2023-03-14

假设

getMethod = "String"
getMethod.length()>255 ? getMethod.substring(0,255) : getMethod;

有没有人可以建议一下我如何为上面的场景编写junits测试。

我尝试手动设置255个字符的“字符串”长度和assertEquals()方法

但是我想知道如果字符串值是“32000”,是否有其他的方法可以编写?

共有1个答案

孙夕
2023-03-14

在下面的解决方案中,我使用JUnit5编写单元测试。我为要测试的方法创建了3个场景。

  1. 应返回给定值
  2. 应返回子字符串值
  3. 应返回NullPointerException(您应在方法中处理此异常,但我将其保留如下)
package com.example.springdemo;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;


@SpringBootTest
public class DemoTest {

    @Test
    public void theMethod_ShouldReturnGivenValue() {
        String expected = "hello";
        String actual = theMethod(expected);

        Assertions.assertThat(actual).isEqualTo(expected);
    }

    @Test
    public void theMethod_ShouldReturnSubstringValue() {
        String value = "A".repeat(256);

        String actual = theMethod(value);
        String expected = "A".repeat(255);

        Assertions.assertThat(actual).isEqualTo(expected);
    }

    @Test
    public void theMethod_ShouldReturnNullPointerException() {
        String value = null;

        org.junit.jupiter.api.Assertions.assertThrows(NullPointerException.class, () -> {
            theMethod(value);
        });
    }

    private String theMethod(String value) {
        String result = value.length() > 255 ? value.substring(0, 255) : value;
        return result;
    }
}
 类似资料:
  • 问题内容: 如何在Java 中将字符串拆分为相等大小的子字符串。例如。大小相等的4个应该给出输出。 问题答案: 这是regex一线版: 是一个零宽度断言,它与上一个匹配结束的位置匹配。如果是以前没有的比赛,它的输入的开始,同相匹配。后面的封闭式匹配从最后一场比赛的末尾开始算起的四个字符的位置。 都是落后的,都是高级正则表达式功能,并非所有版本都支持。此外,在支持它的所有口味上实现的方式不一致。此技

  • 问题内容: 有没有一种方法可以在python中声明一个字符串变量,以使其中的所有内容都自动转义,或者具有其原义字符值? 我 不是 问如何用斜杠将引号转义,这是显而易见的。我要的是一种通用的方式,使所有内容都以字符串文字形式生成,这样我就不必手动检查并转义非常大的字符串的所有内容。有人知道解决方案吗?谢谢! 问题答案: 原始字符串文字:

  • 如何找到字符串的长度(字符串中的字符数),而不在R中拆分它?我知道如何计算列表的长度,但不知道字符串的长度。 Unicode字符串呢?如何查找Unicode字符串中的长度(以字节为单位)和字符数(符文、符号)? 相关问题: 如何在R中查找Unicode字符串中的“真实”字符数

  • 问题内容: 在视图中,我有一个列 注释 ,其中可能包含大字符串。我只想选择前60个字符,并在所选字符串的末尾附加’ … ‘。 为了选择前60个字符,我使用了以下查询: 现在,我希望其处理如下: 检查它是否包含60个以上的字符。 如果包含,则仅选择前6个字符,并在末尾附加三个点。 如果它不包含超过60个字符,则选择整个字符串,而不在末尾附加三个点。 谢谢 问题答案: 要有条件地检查字符串的长度,请使

  • 问题内容: 我正在努力获取unicode字符串的计数,并尝试了各种选择。看起来像是一个小问题,但却大有作为。 在这里,我试图获取字符串str1的长度。我得到的是6。但实际上是3。将光标移到字符串“குமார்”上还会显示为3个字符。 基本上我想测量长度并打印每个字符。如“கு”,“மா”,“ர்”。 PS:这是泰米尔语。 问题答案: 找到了解决您问题的方法。 基于这个SO答案,我制作了一个使用正则

  • 我正在努力获取unicode字符串的计数,并尝试了各种选项。看起来是个小问题,但影响很大。 这里我试图得到字符串str1的长度。我得到的是6分。但实际上是3。将光标移到字符串上“குமார்“也显示为3个字符。 基本上我想测量长度并打印每个字符。像 "கு", "மா", "ர்" . 附言:这是泰米尔语。