- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想测试两个列表的相等性 - 实际列表(由测试方法返回)和预期列表(由我硬编码)。我查看这两个列表一个小时,看不出它们之间有任何区别。
堆栈跟踪:
java.lang.AssertionError: expected: java.util.Arrays$ArrayList<[Book{title='Pokrzyk', author='Puzyńska Katarzyna'}, Book{title='Odbiorę ci wszystko', author='Lillegraven Ruth'}, Book{title='Nóż. Harry Hole. Tom 12', author='Nesbo Jo'}, Book{title='Za zamkniętymi drzwiami', author='Paris B.A.'}, Book{title='Coraz większy mrok', author='Hoover Colleen'}, Book{title='Ta, która musi umrzeć', author='Lagercrantz David'}, Book{title='Teraz zaśniesz', author='Taylor C. L.'}, Book{title='Na skraju załamania', author='Paris B.A.'}, Book{title='Listy zza grobu', author='Mróz Remigiusz'}, Book{title='Rewizja. Joanna Chyłka. Tom 3', author='Mróz Remigiusz'}, Book{title='Odwet', author='Severski Vincent V.'}, Book{title='Immunitet. Joanna Chyłka. Tom 4', author='Mróz Remigiusz'}, Book{title='Inwigilacja. Joanna Chyłka. Tom 5', author='Mróz Remigiusz'}, Book{title='Zniknięcie Annie Thorne', author='Tudor C. J.'}, Book{title='Kontratyp. Joanna Chyłka. Tom 8', author='Mróz Remigiusz'}]> but was: java.util.ArrayList<[Book{title='Pokrzyk', author='Puzyńska Katarzyna'}, Book{title='Odbiorę ci wszystko', author='Lillegraven Ruth'}, Book{title='Nóż. Harry Hole. Tom 12', author='Nesbo Jo'}, Book{title='Za zamkniętymi drzwiami', author='Paris B.A.'}, Book{title='Coraz większy mrok', author='Hoover Colleen'}, Book{title='Ta, która musi umrzeć', author='Lagercrantz David'}, Book{title='Teraz zaśniesz', author='Taylor C. L.'}, Book{title='Na skraju załamania', author='Paris B.A.'}, Book{title='Listy zza grobu', author='Mróz Remigiusz'}, Book{title='Rewizja. Joanna Chyłka. Tom 3', author='Mróz Remigiusz'}, Book{title='Odwet', author='Severski Vincent V.'}, Book{title='Immunitet. Joanna Chyłka. Tom 4', author='Mróz Remigiusz'}, Book{title='Inwigilacja. Joanna Chyłka. Tom 5', author='Mróz Remigiusz'}, Book{title='Zniknięcie Annie Thorne', author='Tudor C. J.'}, Book{title='Kontratyp. Joanna Chyłka. Tom 8', author='Mróz Remigiusz'}]>
Expected :java.util.Arrays$ArrayList<[Book{title='Pokrzyk', author='Puzyńska Katarzyna'}, Book{title='Odbiorę ci wszystko', author='Lillegraven Ruth'}, Book{title='Nóż. Harry Hole. Tom 12', author='Nesbo Jo'}, Book{title='Za zamkniętymi drzwiami', author='Paris B.A.'}, Book{title='Coraz większy mrok', author='Hoover Colleen'}, Book{title='Ta, która musi umrzeć', author='Lagercrantz David'}, Book{title='Teraz zaśniesz', author='Taylor C. L.'}, Book{title='Na skraju załamania', author='Paris B.A.'}, Book{title='Listy zza grobu', author='Mróz Remigiusz'}, Book{title='Rewizja. Joanna Chyłka. Tom 3', author='Mróz Remigiusz'}, Book{title='Odwet', author='Severski Vincent V.'}, Book{title='Immunitet. Joanna Chyłka. Tom 4', author='Mróz Remigiusz'}, Book{title='Inwigilacja. Joanna Chyłka. Tom 5', author='Mróz Remigiusz'}, Book{title='Zniknięcie Annie Thorne', author='Tudor C. J.'}, Book{title='Kontratyp. Joanna Chyłka. Tom 8', author='Mróz Remigiusz'}]>
Actual :java.util.ArrayList<[Book{title='Pokrzyk', author='Puzyńska Katarzyna'}, Book{title='Odbiorę ci wszystko', author='Lillegraven Ruth'}, Book{title='Nóż. Harry Hole. Tom 12', author='Nesbo Jo'}, Book{title='Za zamkniętymi drzwiami', author='Paris B.A.'}, Book{title='Coraz większy mrok', author='Hoover Colleen'}, Book{title='Ta, która musi umrzeć', author='Lagercrantz David'}, Book{title='Teraz zaśniesz', author='Taylor C. L.'}, Book{title='Na skraju załamania', author='Paris B.A.'}, Book{title='Listy zza grobu', author='Mróz Remigiusz'}, Book{title='Rewizja. Joanna Chyłka. Tom 3', author='Mróz Remigiusz'}, Book{title='Odwet', author='Severski Vincent V.'}, Book{title='Immunitet. Joanna Chyłka. Tom 4', author='Mróz Remigiusz'}, Book{title='Inwigilacja. Joanna Chyłka. Tom 5', author='Mróz Remigiusz'}, Book{title='Zniknięcie Annie Thorne', author='Tudor C. J.'}, Book{title='Kontratyp. Joanna Chyłka. Tom 8', author='Mróz Remigiusz'}]>
我看到的唯一区别是预期行的末尾是空白,不知道为什么,但我认为它不应该让我的测试失败,因为它测试元素是否相同。
测试:
package bookstore.scraper.fetcher.empik;
import bookstore.scraper.book.Book;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
@SpringBootTest
@RunWith(SpringRunner.class)
public class EmpikFetchingBookServiceTest {
@Autowired
EmpikFetchingBookService empikFetchingBookService;
@Test
public void get15BooksFromCrimeCategory() throws IOException {
File in = getFile("/CrimeCategoryEmpik.html");
Document doc = Jsoup.parse(in, "UTF-8");
List<Book> actualBooks = empikFetchingBookService.get15BooksFromCategory(doc);
List<Book> expectedBooks = prepare15CrimeBooks();
assertEquals(expectedBooks, actualBooks);
}
private static File getFile(String resourceName) {
try {
return new File(EmpikFetchingBookServiceTest.class.getResource(resourceName).toURI());
} catch (URISyntaxException e) {
throw new IllegalStateException(e);
}
}
private List<Book> prepare15CrimeBooks() {
return Arrays.asList(
new Book.BookBuilder().withAuthor("Puzyńska Katarzyna").withTitle("Pokrzyk").build(),
new Book.BookBuilder().withAuthor("Lillegraven Ruth").withTitle("Odbiorę ci wszystko").build(),
new Book.BookBuilder().withAuthor("Nesbo Jo").withTitle("Nóż. Harry Hole. Tom 12").build(),
new Book.BookBuilder().withAuthor("Paris B.A.").withTitle("Za zamkniętymi drzwiami").build(),
new Book.BookBuilder().withAuthor("Hoover Colleen").withTitle("Coraz większy mrok").build(),
new Book.BookBuilder().withAuthor("Lagercrantz David").withTitle("Ta, która musi umrzeć").build(),
new Book.BookBuilder().withAuthor("Taylor C. L.").withTitle("Teraz zaśniesz").build(),
new Book.BookBuilder().withAuthor("Paris B.A.").withTitle("Na skraju załamania").build(),
new Book.BookBuilder().withAuthor("Mróz Remigiusz").withTitle("Listy zza grobu").build(),
new Book.BookBuilder().withAuthor("Mróz Remigiusz").withTitle("Rewizja. Joanna Chyłka. Tom 3").build(),
new Book.BookBuilder().withAuthor("Severski Vincent V.").withTitle("Odwet").build(),
new Book.BookBuilder().withAuthor("Mróz Remigiusz").withTitle("Immunitet. Joanna Chyłka. Tom 4").build(),
new Book.BookBuilder().withAuthor("Mróz Remigiusz").withTitle("Inwigilacja. Joanna Chyłka. Tom 5").build(),
new Book.BookBuilder().withAuthor("Tudor C. J.").withTitle("Zniknięcie Annie Thorne").build(),
new Book.BookBuilder().withAuthor("Mróz Remigiusz").withTitle("Kontratyp. Joanna Chyłka. Tom 8").build());
}
}
最佳答案
如上所述here ,assertEquals方法使用了equals方法,比较实际的对象实例是否相同。要解决您的问题,您应该重写 equal() 方法来确定值本身是否相同。
关于java - 尽管列表相同,assertEquals 仍无法通过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57298314/
我创建了一个方法来计算字符串中给定字符的出现次数。 public Integer numberOf(String str, Character a){} 我试着像往常一样测试: @Test publi
我有一个 junit 测试断言两个 Double 对象,具有以下内容: Assert.assertEquals(Double expected, Double result); 这很好,然后我决定将其
我收到以下错误: Both assertEquals(Object, Object) in Assert and assertEquals(double, double) in Assert matc
我是 Mockito 的新手,需要为工作学习它。 我做了一个非常简单的类,它有一个返回字符串的方法。 然后我在eclipse中做了下面的测试类。 import static org.junit.Ass
这个问题在这里已经有了答案: differences between 2 JUnit Assert classes (6 个回答) 7年前关闭。 我用 assertEquals(String, Str
这是一个 PHPUnit 测试: class EqualsTest extends PHPUnit_Framework_TestCase { public function testSucces
所以我正在学习如何在 Django 中练习 TDD,但遇到了一些小问题。我创建了一个自定义用户对象,它以一对一的关系链接到经过身份验证的系统用户。我有以下测试,它练习了我的自定义用户类的一部分: de
任何人都可以帮助我使用 AssertEquals 吗? 我的测试用例类有以下代码,但在 AssertEquals 失败后,测试继续进行下一个方法,即 createClientTodelete。为什么?
我的目标是确保对象图具有预期的值和类型。我想确保每个值都是预期的类型。 为此,assertEquals() 不幸的是没有用: $this->assertEquals( [ 'prop' =>
boolean b = Testfactory.read_element_file(models).equals(ExcelUtils.readdata("Model Export.xlsx"))
我有一个字符串-数字对的类。该类实现了 compareTo 方法。 另一个类的方法返回pair类型的元素集合。 我想对此方法执行单元测试,因此编写了以下内容: @Test public void te
我试图比较两个对象,首先比较它们是否具有相同的键,然后比较它们的键值是否相等,但来自assertEquals的测试仍然失败。我认为这是因为这两个对象位于一个数组内部,所以它实际上是在比较一个对象数组与
即使两个字符串相同,assertEquals() 也会失败...有人能帮我弄清楚为什么吗? public void testSet() { ByteArrayOutputStream ou
我正在通过 JUnit 进行 TDD 实践来开发我的应用程序。我需要确保传递给该方法的参数存在于类字典(Hashmap)中。为此,我使用assertEquals,比较模拟字典对象和方法。然而,IDEA
当使用 assertEquals() 比较两个对象时,是否考虑查看内部结构,即。对象的属性? 假设我有一个类 A,如下所示: public class A { private int ID;
我正在尝试使用 Junit 测试用例为 Course 类中的 GetTeextBook() 创建一个测试方法。请注意 GetTextBook() 是 Textbook 对象的类型,但是当我在 test
我实际上是想了解 PHPUNIT 和使用 PHP 进行单元测试。 我有一个经典的划分方法。 public function divide($firstNumber, $secondNumber){
我正在尝试使用 HUnit 以 TDD 方式在 Real World Haskell 中进行练习.正如您可能猜到的那样,我还没有走得太远,所以就 Haskell 而言,我是一个绝对的初学者。给定以下代
当我尝试在我的代码中使用以下语句时,获取对象没有属性“assertEqual”: self.assertEqual("IRELAND INSTITUTE OF PITTSBURGH", driver.
我有两套: Set set1 = new HashSet(5); Set set2 = new HashSet(5); //add 5 attribute objects to each of
我是一名优秀的程序员,十分优秀!