2011-10-17 10 views
2

私はJUnit 4テストをEclipse Indigo SR1で正しく実行するようにしようとしていますが、何かがうんざりです。私は(下記のように)と考えることができ、最も簡単な場合:Eclipse IndigoのJUnitテストは何も報告していませんか?

package ints; 

import static org.junit.Assert.*; 

import org.junit.Before; 
import org.junit.Test; 

public class IntTest { 

    @Before 
    public void setUp() throws Exception { 
     System.out.println("setUp()"); 
    } 

    @Test 
    public void test() { 
     System.out.println("assertEquals(1, 1);"); 
     assertEquals(1, 1); 
    } 

    @Test 
    public void test2() { 
     System.out.println("assertEquals(1, 2);"); 
     assertEquals(1, 2); 
    } 
} 

を、私は、Eclipseでこれを実行すると(Altキー+ Shiftキー+ X、T)、JUnitのビューのレポートは、「実行:0/0、エラー: 0、Failures:0 "と表示されていますが、何も表示されません。テストメソッド&から例外をスローすることもできますが、どちらも表示されません。

setUp() 
assertEquals(1, 1); 
setUp() 
assertEquals(1, 2); 

何について考えていますか?

+0

私にとっては奇妙な作品です... –

+0

Hm、strange。ちょうど楽しみのために私は新しいワークスペースを開いて試しました。まだ何も。 – oconnor0

+0

Java版? OS? – palacsint

答えて

0

何らかの理由で、1.7 32ビットJDKをアンインストールするとこの問題が解決されました。それは私が把握できる道や何かにあるようには思われませんでした。それは魔法のように少し過ぎているように感じますが、うまくいきました。

私は4つのJDKをインストールしました(1.6 & 1.7,32ビット& 64ビット)。今私は3を持っています。

2

あなたのシステムにJUnit 3とJUnit4の両方がインストールされていて、プロジェクトが間違ったJUnitバージョンをインポートしたと思います。これはあらゆる種類の奇妙な問題を引き起こすでしょう。

あなたの場合、JUnit3を使用している場合はコードがテストとして扱われないようです。

ビルドパスを調べて、使用しているJUnitを確認してください。

+0

Eclipseが私に嘘をついていない限り、org.junit_4.8.2_v20110321-1705 \ junit.jarは(Plug-in DependenciesまたはJUnit4経由で)クラスパス上にあります。 – oconnor0

+0

また、私はあなたがこれに気づいたかどうかはわかりませんが、私のコードが呼び出されるようにSystem.outが書き出されています。 – oconnor0

+0

Hmm。そうです、あなたは正しいです。まあ、コードは正しいので、障害はどこかにあるはずです。 JUnitビューにテストが表示されていることを確認しますか?「IntTest [Runner:JUnit4](0.0000s)」のようなものです。プロジェクトを右クリックして "Run As ..." - "JUnit test"を選択した場合と同じ結果になりますか? – Fredrik

0

マシン上の(ローカル)ファイアウォールルールを確認してください。私は1年前に同じ問題にぶつかり、Eclipse/Javaのローカル接続を許可して問題を解決しました。 (私はちょうどこれについてのノートを見つけました)

1

私はJUnitと同じ問題がありました。私は良い古いJDKでアップデートを実行しましたが、問題は残っていましたので、私のマシンからすべてのJDK-sを完全に削除し、最新のjdk 6をインストールし、Eclipse Indigoが魔法のように正しく動作するようになりました。

たぶん、継続的に更新され、JDK 6が正しくアップグレードされていません...

0

私は同じ問題を抱えていました。 JUnitは起動しますが、動作していないし、終了しておらず、例外もありません。私にとっては、ファイアウォールiptablesのコマンドをチェックを働いたと実行を追加します。

iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT 

JUnitは、実行中にこの権限を必要とする - 内部インターフェースの通信を可能にします。

関連する問題