[英]Why isn't JUnit finding my tests?
需要澄清的是,我相對不熟悉Java。
我正在編寫一個與API交互的“ GobblerClient”類,並且為了測試我的一些功能,我決定使用JUnit編寫一些單元測試。 我創建了許多失敗的測試,當我運行它們時,似乎JUnit找不到它們。
有什么想法為什么JUnit可能無法檢測我的測試?
編輯:完整的測試。
package com.gobbler;
import static org.junit.Assert.*;
import org.junit.Test;
public class GobblerClientTest {
@Test
public void testDisplay_name() {
fail("Not yet implemented");
}
@Test
public void testUser_id() {
fail("Not yet implemented");
}
@Test
public void testAuthenticity_token() {
fail("Not yet implemented");
}
@Test
public void testClient_key() {
fail("Not yet implemented");
}
@Test
public void testGobblerClient() {
fail("Not yet implemented");
}
@Test
public void testAuthenticate() {
fail("Not yet implemented");
}
@Test
public void testGet_data() {
fail("Not yet implemented");
}
@Test
public void testSha1hmac() {
fail("Not yet implemented");
}
}
在運行某些測試之前,“ JUnit”對話框是空的,它顯示了上次運行的結果。
一種簡單的方法是右鍵單擊您的類(在Package Explorer或源代碼中的類名稱上),然后選擇Run As
JUnit Test
> JUnit Test
如果此時沒有測試,請使用Run As
-> Run Configurations...
Run As
再試一次,然后在出現的“運行”對話框中,確保將“測試運行器”下拉列表設置為“ JUnit 4”。 如果將其設置為早期版本,它將不會檢測到您的@Test批注。
編輯:由於您使用的是Android而不是標准的JVM,因此您需要執行一些其他設置,請參閱我的評論。
這只是在IBM Rational Application Developer 8.5中發生的。 就我而言,問題似乎是由於我使用默認的JDK(這是用於WebSphere的IBM JDK)配置了項目。 切換到香草JDK 1.6可以修復它。 我懷疑真正的原因不是JDK的實際版本-但是開關足夠好,可以讓我繼續... :-)
一些猜測:也許您的Eclipse已經在運行先前的junit會話,由於某種原因該會話被卡住了; 按“終止”,然后重試可能會有所幫助。
您可能要檢查的另一件事是您的Eclipse版本。 如果版本太舊,則其嵌入式junit運行程序可能無法識別Junit的注釋,如果我沒有記錯的話,這些注釋將包含在junit 4.x中。
最后一個猜測是嘗試檢查項目的構建路徑中是否包含實際的junit測試(盡管這不太可能,因為您能夠使Eclipse開始運行測試)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.