gpt4 book ai didi

java - 字符串的 Hamcrest 匹配器,其中字符串包含一些随机值

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:32:28 27 4
gpt4 key购买 nike

有没有办法将以下字符串与任何 hamcrest 匹配器匹配。

"{\"messageType\":\"identify\",\"_id\":\"7de9a446-2ced-4bda-af35-81e95ad2dc32\",\"address\":\"192.168.0.0\",\"port\":7070}"

这个字符串被传递给一个方法。我使用 JMock 期望来匹配它。

问题:“72e3a446-2fed-4bda-ac35-34e95ab3dc32”部分是随机生成的UUID,是在测试方法中生成的。是否有一个 Hamcrest 字符串匹配器可以匹配类似的内容

new StringCompositeMatcher("{\"messageType\":\"identify\",\"_id\":\"", with(any(String.class)), "\"address\":\"192.168.0.0\",\"port\":7070}" )

它必须匹配预期的字符串以 "{\"messageType\":\"identify\",\"_id\":\" 开头,然后是任何字符串,并结束使用 ",\"address\":\"192.168.0.0\",\"port\":7070}"

编辑:解决方案

with(allOf(new StringStartsWith("{\"messageType\":\"identify\",\"_id\":\""), new StringEndsWith("\",\"address\":\"192.168.0.0\",\"port\":7070}")))

最佳答案

也许最优雅的方法是使用正则表达式,尽管它没有内置的匹配器。然而,you can easily write your own .

或者,您可以将 startsWith()endsWith()allOf() 结合使用。

关于java - 字符串的 Hamcrest 匹配器,其中字符串包含一些随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588226/

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