java - 具有多个接受答案的 JUnit 测试

标签 java junit junit4 assert

在 JUnit 测试中是否可以有多个可接受的答案?例如:

   Main rock = new Main();
   Assert.assertEquals("y", boxes("23"));

因此,对于此测试,我希望能够接受结果字符串“y”或“n”作为可接受的答案,这可能吗?

最佳答案

使用 Hamcrest CoreMatcher(包含在 JUnit 4.4 及更高版本中)和assertThat():

Assert.assertThat(boxes("23"), anyOf(is("y"), is("n"));

关于java - 具有多个接受答案的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335037/

相关文章:

java - 如何在 Spring Boot 中创建调用包含构造函数注入(inject)的服务的测试?

java - 在某些测试之前运行一段代码一次

java - 从 ArrayList<String[]> 转换为 Collection<Object[]>?

marshalling - 如何为 JAXB 2.0 编码编写单元测试

在没有 Eclipse 的情况下使用 tess4j 出现 java.lang.NoClassDefFoundError

java - java中的数据类型字节不允许添加任何文字

java - 维护和重用现有的 webdriver 浏览器实例 - java

java - 为什么在Java中调用枚举类的方法时出现空指针异常

java - 有没有一种通用的方法可以将 JUnit 测试标记为待处理?

java - Return 和 Break 语句之间的区别