【问题标题】:How do I specificy the order of execution for methods in my testing?如何指定测试中方法的执行顺序?
【发布时间】:2016-08-24 03:08:26
【问题描述】:

我有一个名为 myTest.java 的 .java 文件,在其中我有两个测试方法(按创建顺序)称为:

public void testGrabSubdevicedata(){
     // do something and assert 
}

public void testSubdevice(){
    // do something again and assert
}

由于某种原因,它首先执行“testSubdevice()”方法,因此必须有某种按字母顺序排列的方法执行集。如何关闭它,让它按照我放置它的顺序执行?

编辑:

这是 Eclipse Jee Neon 和 Maven 插件。

【问题讨论】:

  • 单元测试不应该有依赖或依赖于一个顺序。这意味着这些单元测试是集成测试。使用 TestNG 最简单的解决方法,它可以定义测试之间的依赖关系......如果你需要它们......
  • 感谢您的建议,如果不涉及订购更有意义。除非绝对必要,否则我一定会尽量避免这种做法。

标签: java eclipse maven unit-testing junit


【解决方案1】:

你可以使用

import org.junit.FixMethodOrder;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class WhateverTest {

这将保证 JUnit 以特定顺序运行您的测试。这样的订单不多;但可能适合您的需求。

但请注意:这是不好的做法!修复执行顺序是您只有在有充分理由这样做时才应该做的事情。

最后:阅读 java 命名风格指南。类名以大写开头;总是;甚至用于测试。

【讨论】:

  • 是的,我同意如果没有任何故意订购,除非您说的有充分的理由,否则它会更可靠。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
相关资源
最近更新 更多