- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
junit 4.11 带有 @FixMethodOrder
-annotation,可以选择 MethodSorter 实现来对 junit 测试进行排序。有三个默认排序器,JVM
, NAME_ASCENDING
和 DEFAULT
.
现在,我想创建自己的 MethodSorter。任何人都可以帮助我提供有关如何做到这一点的任何指示吗?
最佳答案
简答
这并不容易,也不鼓励,因为 JUnit 不鼓励依赖测试。
长答案
有关更多信息,请参阅关于 SortMethodsWith allows the user to choose the order of execution of the methods within a test class 的扩展讨论。 .
JUnit 不鼓励人们编写依赖于其他测试的测试。 @FixMethodOrder是在 Sort test methods for predictability 的讨论后介绍的.
基本问题是 Java 7 在使用反射查找方法时,不会以一致的顺序返回它们。使用 Java 6,几乎可以保证它们会按照它们在源文件中出现的顺序返回。这已不再是这种情况。
一些测试类具有相关测试(无论是设计还是意外)。 Sort test methods for predictability至少保证这些测试将以一致的顺序执行。但是,这个排序是基于方法的hashCode,所以排序是 确定性,但难以预测。因此,如果您对测试的排序确实有问题,那么如何修复排序并不容易或显而易见。您必须找到具有更高/更低哈希码的测试方法名称。@FixMethodOrder
引入是为了让用户可以轻松地解决他们的订购问题,只需更改名称即可。但是,至少对我来说,它被视为临时修复,直到可以修复损坏的测试。
另请注意,您通常可以从 surefire 指定测试执行顺序。 , ant 中也有类似的选项。
有关更多信息,我刚刚发布了 a blog post on this very subject .
关于junit - 为 junit 的 @FixMethodOrder 创建我自己的 MethodSorter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723125/
在测试我自己的 ArrayList 实现时,我在测试之前设置了 MyArrayList 类的实例,为了检查我的逻辑是否在实现的方法中正常工作,我使用了 @FixMethodOrder(MethodSo
我这里有个小问题,不知道怎么解决。 我有一个类必须对一些 JSF bean 进行测试。为了实现这一点,我使用 PowerMock 和 Mockito 来模拟 FacesContext、RequestC
junit 4.11 带有 @FixMethodOrder -annotation,可以选择 MethodSorter 实现来对 junit 测试进行排序。有三个默认排序器,JVM , NAME_AS
我是一名优秀的程序员,十分优秀!