当前位置: 首页 > 面试题库 >

如何在JUnit测试中测试Collection中元素的顺序?

汪德寿
2023-03-14
问题内容

我想用JUnit测试来验证Java中集合的排序算法。如果我在集合中输入“ B”,“ C”,“
A”并希望对其进行排序(例如,按字母顺序排列),那么使用JUnit进行测试的正确方法是什么?

我实现了Comparable接口,并希望确保排序工作正常。

我想这个问题可以从Java或JUnit扩展到任何语言的常规测试。


问题答案:

我将按 预期的 顺序创建另一个具有值的集合,然后仅检查结果是否匹配。

但说实话,如果你只是想检查您的实现IComparable 某种算法,我 只是 让有关调用的结果断言compareTo。编写测试
更简单,而了解任何故障也会更简单。

(如果排序测试失败,那仅意味着许多比较中的 一项 做错了。这不会帮助您确定 哪个 比较做错了。)



 类似资料:
  • 问题内容: 我正在使用带有eclipse的junit编写功能测试。 当运行单个测试时,它将按照我在类中设置它们的顺序运行。 例如。 但是,当我将此测试作为套件的一部分运行时(在包中),顺序是随机的。 例如,它将执行验证,然后删除用户,然后删除joinuserToRoom然后创建用户。 我在套件中的测试并不相互依赖。但是,测试中的每个单独测试都取决于它们以正确的顺序运行。 有什么办法可以实现? 谢谢

  • 我正在学习JUnit测试。我想在JUnit中测试getter和setter,但它不起作用。这是第一节课。 我需要如何更改以测试setter?我如何测试它?

  • 问题内容: 如何确定unittest方法的顺序?字母或数字前缀是否正确? 要么 问题答案: 您可以通过将sortTestMethodsUsing设置为None来禁用它:http ://docs.python.org/2/library/unittest.html#unittest.TestLoader.sortTestMethodsUsing 对于纯单元测试,您是对的。但是对于组件测试和集成测试…

  • 目前,我正在测试一个具有CRUD操作的类(例如)。按照后面使用的方法,我想按照创建、读取、更新和删除的顺序测试所有操作。 由于JUnit中测试用例的执行顺序依赖于JVM,所以我需要一些适当的方法来确保单元测试用例按照给定的顺序执行。 到目前为止,我提出了以下策略: > 在JUnit4中使用按名称的升序执行方法。然而,这需要重命名测试用例,而且对我来说似乎不是最好的方法,因为在未来需要添加更多的测试

  • 的顺序将与为创建对象选择的顺序相同 允许重复的后续字符串组件并按顺序保留 未定义的行为(其他代码保证没有进入工厂) 在对象实例化之后,没有任何方法可以更改组件列表 我正在编写一个简单的测试,该测试从字符串列表创建并检查它是否可以通过返回相同的列表。我立即这样做,但这应该发生在一个现实的代码路径的远处。 这里是我的尝试: null null