2016-08-24 59 views
0

我有一个名为myTest.java和一个.java文件的这里面我有两个测试方法(在创建这个顺序)呼吁:“)testSubdevice(”我如何指定测试中的方法执行顺序?

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

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

出于某种原因,执行的方法首先,所以必须有某种按字母顺序排列的方法执行集。我如何关闭它,以便按照我放置的顺序执行它?

编辑:

这是与Eclipse梓霓虹灯和Maven插件。

+2

单元测试不应该有依赖关系或取决于订单。这意味着这些单元测试是集成测试。最简单的解决方法是使用TestNG,它可以定义测试之间的依赖关系...如果您需要它们... – khmarbaise

+0

感谢您的建议,如果没有订购涉及,则更有意义。除非绝对必要,否则我一定会尽量避免这种做法。 – Belphegor

回答

1

您可以使用

import org.junit.FixMethodOrder; 

@FixMethodOrder(MethodSorters.NAME_ASCENDING) 
public class WhateverTest { 

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

但是一个警告:这是不好的实践!修复执行顺序是当你有足够的理由这样做时你应该做的。

最后:阅读关于java命名风格指南。类名起始于UpperCase;总是;即使是测试。

+0

是的,我同意,如果没有任何有意的排序,除非出于正确的理由,否则它更可靠。 – Belphegor

相关问题