2016-08-24 112 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

相關問題