包含一些特定字符串但包含字符串列表的集合

时间:2018-04-27 19:03:40

标签: junit collections hamcrest assertthat

我已经实现了这个方法:

@FindBy(partialLinkText = "Avocode")
List<WebElement> results;

public List<String> getSearchResults (){
    List<String> text = results.stream().map(WebElement::getText).collect(Collectors.toList());
    return text;
}

然后我有一个测试试图找到与'avocode'的任何匹配:

assertThat(find.getSearchResults(),IsCollectionContaining.hasItem("Avocode"));

我导入的图书馆:

import org.hamcrest.core.IsCollectionContaining;
import org.testng.Assert;
import org.testng.annotations.Test;
import pageObjects.Search;

import static org.junit.Assert.assertThat;

++ 我的依赖项:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>

我希望测试能够成功运行,但我得到了:

  

java.lang.AssertionError:
  预期:包含“Avocode”的集合

     

但是:“Avocode”准备吃“DUO pack”,是“Avocode Hass,是”Avocode Fuerte“,是”Avocode Bacon“

我相信我已经在堆栈溢出中遵循了所有提示,但没有任何工作 - Avocode就在那里,所以它应该通过......

我会感激任何帮助(我是编程新手)。

谢谢, Lijana

0 个答案:

没有答案