2012-03-20 5 views
0

明確にするために、私は比較的Javaに慣れていません。なぜJUnitはテストを見つけられませんか?

私はAPIと対話するクラス「GobblerClient」を書いている、と私はJUnitのを使用して、いくつかのユニットテストを書くことにした私の機能のいくつかをテストします。私は失敗したテストをたくさん作成しました。私はそれらを実行すると、JUnitはそれらを見つけることができないように見えます。

picture of eclipse with failing tests and no tests in the junittest view

任意のアイデアなぜ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"); 
    } 

} 
+0

スクリーンショットは無駄です。質問にコードを適切に貼り付けます。 – skaffman

+0

インポートリストを展開できますか? –

+0

残念ですが、テストは左のパネルに表示されていないことを示したかっただけです。私は上記の実際のコードを追加しました。 –

答えて

4

JUnitダイアログは、いくつかのテストを実行するまでは空です。最後の実行の結果が表示されます。

これを行う簡単な方法があり、あなたのクラスを右クリックし(どちらかパッケージエクスプローラまたはあなたのソースコード内のクラス名に)とRun Asを選択 - 何のテストは、この時点では表示されない場合>JUnit Test

を、 Run As - >Run Configurations...と再試行し、表示された[実行]ダイアログで[テストランナー]ドロップダウンが[JUnit 4]に設定されていることを確認します。以前のバージョンに設定されている場合、@Test注釈は検出されません。

編集:あなたは、標準のJVMではなく、アンドロイドを使用しているので、あなたは、いくつかの追加設定を行い、私のコメントを参照する必要があります。

+0

私はそれを試みました(スクリーンショットは途中です)が、常に空白です。 –

+0

デバッグして、どこに行き詰まっているのかを確認します。中途半端にスクリーンショットを撮ることができたという単純な事実は、あなたの空のテストを考えると変です。 – Jochen

+1

私は自分の答えを更新しましたが、あなたはあなたがAndroidを使っていると付け加えたことを認識しました。 InstumentationTestRunnerを組み込み、 'Run As' - >' Android Junit Test'を使う必要があります。これはAndroidプラットフォームのコードを使用しているかどうかに関係なく(あなたのクラスはDalvikのJavaバイトコードではありません)。開発者のドキュメントを参照してください:http://developer.android.com/guide/developing/testing/testing_eclipse.html – seanhodges

0

いくつかの推測:おそらくあなたのEclipseは何らかの理由で立ち往生していた以前のjunitセッションをすでに実行しています。 「終了」を押してもう一度やり直してください。

確認したいことは、Eclipseのバージョンです。それが古すぎると、組み込みのjunitランナーは、誤解されていない場合、junit 4.xに含まれていたJunitの注釈を認識しない可能性があります。

最終的な推測では、実際のjunitテストがプロジェクトのビルドパスに含まれているかどうかを確認しようとしています(Eclipseでテストを開始できるようになって以来ほとんどありません)。

+0

それは確かに最初のケースではありません。私はEclipseを再起動し、成功して再実行しようとしました。 私はEclipse Versionを実行しています。比較的新しいマシンでIndigo Service Release 1を実行しています(また、junit4という仕様のテストも作成しています)。 –

0

これはIBM Rational Application Developer 8.5で発生したばかりです。 私の場合、問題は私がデフォルトのJDK(WebSphere用のIBMのJDK)を使ってプロジェクトを設定したことによると思われます。 vanilla JDK 1.6に切り替えると私のために修正されました。私は本当の理由はJDKの実際のバージョンではないと思う - しかし、スイッチは私が上に移動できるように十分だった... :-)

関連する問題