gpt4 book ai didi

ruby-on-rails - 将 webrat 的 contains(text) 匹配器与 haml 结合使用

转载 作者:行者123 更新时间:2023-12-04 03:51:09 26 4
gpt4 key购买 nike

我正在使用以下 webrat 匹配器:

response.should contain(text)

使用以下 haml:

%p
You have
= current_user.credits
credits

我已经编写了 cucumber 步骤“然后我应该看到“你有 10 个学分””,它使用上面的 webrat 匹配器。该步骤失败,webrat 在响应中找不到文本,因为 haml 实际上生成了

<p>You have
10
credits</p>

如何让匹配器匹配 haml 生成的输出?

注意:上面是我正在处理的情况的简化示例。编写以下 haml 不是一个可接受的解决方案:

%p= "You have #{current_user.credits} credits"

最佳答案

你说得对,这很痛苦。我发现 Webrat 很多时候都过于敏感,令人恼火。

两个想法:

  1. 修复您的测试。在这种情况下,您希望它对换行符视而不见,因此将它们全部删除:response.tr("\n","").should包含(文本)
  2. 修复你的 Haml。这可能是更好的选择。您可以使用多行终止符 | 告诉 Haml 不要在以下位置放置换行符:
    %p      You have |      = current_user.credits |      credits

请参阅Haml reference对于像这样的更晦涩的东西。 (其中令人惊讶的数量与空白有关。)

关于ruby-on-rails - 将 webrat 的 contains(text) 匹配器与 haml 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536599/

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