gpt4 book ai didi

java - Junit 如何检查字符串是否等于两个字符串之一?

转载 作者:太空狗 更新时间:2023-10-29 22:48:31 25 4
gpt4 key购买 nike

这似乎是一个 super 简单的问题,但我就是想不通。

我只是想断言一个字符串等于“string1”或“string2”。

这是我尝试过的方法,但显然都行不通。

assertEquals(d.getFormType(), "string1") || assertEquals(d.getFormType(), "string2");

assertEquals(d.getFormType(), "string1" || "string2");

最佳答案

我建议您使用 Hamcrest 匹配器。它们通过 assertThat() 集成到 JUnit 中,但您需要下载并安装 hamcrest-all.jar也是。

使用 Hamcrest,您可以像这样解决您的问题:

import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;

assertThat(d.getFormType(), isOneOf("string1", "string2"));

如果您无法安装 Hamcrest,另一种选择是使用正则表达式:

assertTrue(d.getFormType().matches("(string1|string2)"));

这比组合两个 equals() 语句更短,而且可以说更具可读性:

String actual = d.getFormType();
assertTrue("string1".equals(actual) || "string2".equals(actual));

关于java - Junit 如何检查字符串是否等于两个字符串之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729280/

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