簡體   English   中英

JUnit為什么找不到我的測試?

[英]Why isn't JUnit finding my tests?

需要澄清的是,我相對不熟悉Java。

我正在編寫一個與API交互的“ GobblerClient”類,並且為了測試我的一些功能,我決定使用JUnit編寫一些單元測試。 我創建了許多失敗的測試,當我運行它們時,似乎JUnit找不到它們。

測試失敗並且在junittest視圖中沒有測試的日食的圖片

有什么想法為什么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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM