Javascript AngularJS测试检查p包含文本

Javascript AngularJS测试检查p包含文本,javascript,jquery,angularjs,matcher,Javascript,Jquery,Angularjs,Matcher,我正在尝试编写一个端到端测试,检查是否存在包含特定文本的p标记: it('should display search result snippet for a result item', function() { input('query').enter('One'); element('#submitSearchButton').click(); expect(element('.emails li p').text()).toEqual('This is a sear

我正在尝试编写一个端到端测试,检查是否存在包含特定文本的p标记:

it('should display search result snippet for a result item', function() {
    input('query').enter('One');
    element('#submitSearchButton').click();
    expect(element('.emails li p').text()).toEqual('This is a search result snippet for email one')
})
然而,我得到:

expected "This is a search result snippet for email one" but was "\n\t\t\t\t\t\tThis is a search result snippet for email one\n\t\t\t\t\t"
如何检查页面是否包含所需的文本

编辑:

好的,我知道这是因为我正在测试HTML模板中的一些东西。此模板的格式使其更易于阅读,但我感到困惑,因为我在浏览器中查看呈现的网页:

<p>
     {{email.snippet}}
</p>

{{email.snippet}


我现在的问题是,我应该如何在角度e2e测试中测试我的电子邮件片段是否按预期呈现?我是应该重新格式化模板,还是应该以另一种方式处理这个问题?

我不知道为什么您的代码会这样。在jQuery中,要检查p是否包含一些文本,只需执行以下操作:

if ($('p:contains("someText")').length > 0) {
    // Your code here
}

使用正则表达式来测试值,而不是直接比较您不应该在测试中使用该静态值。价值从何而来?对于换行符和制表符,我假设它来自一个HTML文件,这让我想知道为什么要测试它,它包含手动写入的内容。你能详细解释一下吗?为什么有人在这个问题上投票反对我?