gpt4 book ai didi

java - Hamcrest 有没有办法测试某个值是否为数字?

转载 作者:行者123 更新时间:2023-12-02 09:29:28 24 4
gpt4 key购买 nike

有没有办法在不扩展库的情况下使用 Hamcrest 测试预期值是否为数字?

我在想这样的事情:

    assertThat(expectedValue).isNumber();

此外,值得一提的是,expectedValue 是一个String

最佳答案

编写你自己的匹配器:

import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;

public class IsLong extends TypeSafeMatcher<String> {

@Override
protected boolean matchesSafely(String s) {
try {
Long.parseLong(s); // Or the number type you need
return true;
} catch (NumberFormatException nfe) {
return false;
}
}

@Override
public void describeTo(Description description) {
description.appendText("is long");
}

public static Matcher<String> isLong() {
return new IsLong();
}
}

所以你的代码看起来像

assertThat(expectedValue, isLong());

更多信息请访问 http://hamcrest.org/JavaHamcrest/tutorial (编写自定义匹配器部分)

关于java - Hamcrest 有没有办法测试某个值是否为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58099695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com