网站的JUnit测试包含一个字符串或(专有)其他字符串

用户名

在spring-mvc项目中,我对索引/主页的内容进行了测试:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class HomePageTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void shouldContainStrings() throws Exception {
        this.mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk())
            .andExpect(content().string(containsString("Hello World")));
    }
}

到目前为止,该测试工作正常。但是,现在我想测试字符串“ Login”或(不包括)“ Logout”的出现,即我想测试在内容中是否恰好出现了这两个字符串中的一个(不是零且不是两个)。如何匹配此条件?

我试过了

...
.andExpect(content().string(
      either(containsString("Login")).or(containsString("Logout"))));
....

但这也不起作用(如果两个字符串都出现在页面中也不会给出错误)。

杀虫剂

只要string()方法接受Hamcrest匹配器,我就会在这里看到两个选项:

  1. 自己实现类似XOR的匹配器(您可以使用此答案作为参考https://stackoverflow.com/a/29610402/1782379)...
  2. ...或使用复杂的条件,例如“其中任何一个,但不能同时使用两者”

    Matcher<String> matcher =
            allOf(
                    is(either(containsString("Login")).or(containsString("Logout"))),
                    is(not(allOf(containsString("Login"), containsString("Logout")))));
    assertThat("_Login_", matcher); // OK
    assertThat("_Logout_", matcher); // OK
    assertThat("_Login_Logout_", matcher); // FAIL
    assertThat("__", matcher); // FAIL
    

我个人更喜欢使用第二种选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查一个字符串是否包含多个其他字符串?

来自分类Dev

如何在包含所有字符串元素的数组上应用rand()或其他内置函数,以随机选择一个字符串?

来自分类常见问题

如何测试字符串是否在PHPUnit中包含另一个字符串?

来自分类Dev

检查一个字符串是否包含Ruby中另一个字符串的所有字符

来自分类Dev

如何比较一个字符串的值是否小于其他字符串颤动

来自分类Dev

从其他字符串集合的示例中拆分一个字符串

来自分类Dev

Python:删除列表中至少由同一列表中其他一个字符串包含的字符串

来自分类Dev

函数包含特定字符串返回一个字符串

来自分类Dev

测试字符串是否包含组成另一个字符串的所有字符

来自分类Dev

比较一个字符串与python同一列中的所有其他字符串

来自分类Dev

在其他字符串列表中查找一个字符串

来自分类Dev

捕获一个字符串,然后匹配以该字符串开头的所有其他单词

来自分类Dev

如果语句具有一个字符串和其他字符串(请列出)

来自分类Dev

查找一个字符串,该字符串将始终排在给定字符串的旁边,而不管其他元素如何

来自分类Dev

如何将一个字符串与其他3个字符串进行比较?

来自分类Dev

在R中的其他两个字符串之间提取一个字符串

来自分类Dev

我怎样才能使一个字符串基于其他两个字符串?

来自分类Dev

测试一个字符串是否只有一个字符,中间的REGEX是否带有空格

来自分类Dev

PHP-检查一个字符串是否包含另一个字符串中的任何字符

来自分类Dev

查找包含一个字符串但不包含另一个字符串的文件

来自分类Dev

包含方法,检查字符串前一个字符

来自分类Dev

收到一个字符串

来自分类Dev

收到一个字符串

来自分类Dev

返回一个字符串

来自分类Dev

For 循环一个字符串

来自分类Dev

给定一个字符串,如何生成所有可能的子字符串数组,其中每个子字符串最多包含N个字符,但不少于M个字符?

来自分类Dev

正则表达式找到一个字符串,但找不到包含该字符串的其他某些更长的字符串

来自分类Dev

如何用其他多个字符(另一个字符串)替换字符串中的多个字符而不替换其他出现?

来自分类Dev

给定一个字符串,返回一个字符串

Related 相关文章

  1. 1

    如何检查一个字符串是否包含多个其他字符串?

  2. 2

    如何在包含所有字符串元素的数组上应用rand()或其他内置函数,以随机选择一个字符串?

  3. 3

    如何测试字符串是否在PHPUnit中包含另一个字符串?

  4. 4

    检查一个字符串是否包含Ruby中另一个字符串的所有字符

  5. 5

    如何比较一个字符串的值是否小于其他字符串颤动

  6. 6

    从其他字符串集合的示例中拆分一个字符串

  7. 7

    Python:删除列表中至少由同一列表中其他一个字符串包含的字符串

  8. 8

    函数包含特定字符串返回一个字符串

  9. 9

    测试字符串是否包含组成另一个字符串的所有字符

  10. 10

    比较一个字符串与python同一列中的所有其他字符串

  11. 11

    在其他字符串列表中查找一个字符串

  12. 12

    捕获一个字符串,然后匹配以该字符串开头的所有其他单词

  13. 13

    如果语句具有一个字符串和其他字符串(请列出)

  14. 14

    查找一个字符串,该字符串将始终排在给定字符串的旁边,而不管其他元素如何

  15. 15

    如何将一个字符串与其他3个字符串进行比较?

  16. 16

    在R中的其他两个字符串之间提取一个字符串

  17. 17

    我怎样才能使一个字符串基于其他两个字符串?

  18. 18

    测试一个字符串是否只有一个字符,中间的REGEX是否带有空格

  19. 19

    PHP-检查一个字符串是否包含另一个字符串中的任何字符

  20. 20

    查找包含一个字符串但不包含另一个字符串的文件

  21. 21

    包含方法,检查字符串前一个字符

  22. 22

    收到一个字符串

  23. 23

    收到一个字符串

  24. 24

    返回一个字符串

  25. 25

    For 循环一个字符串

  26. 26

    给定一个字符串,如何生成所有可能的子字符串数组,其中每个子字符串最多包含N个字符,但不少于M个字符?

  27. 27

    正则表达式找到一个字符串,但找不到包含该字符串的其他某些更长的字符串

  28. 28

    如何用其他多个字符(另一个字符串)替换字符串中的多个字符而不替换其他出现?

  29. 29

    给定一个字符串,返回一个字符串

热门标签

归档