2011-08-08 7 views
1

私はJavaプロジェクトでテストを実行するためにJUnit 4(junit-4.8.2.jar)を使用していますが、assumeTrueを使用しているときに問題が発生しています。私は、この基本的なセットアップしています仮定JUnit4のTrueがテストを無視するのではなくエラーです

public class ClientTest extends TestCase { 

    @BeforeClass 
    public void setUp() { 
     assumeTrue(isPaidAccount()); 
    } 

    @Test 
    public void testTheThings() { 
     // run this test if the user has a paid account 
    } 
} 

方法isPaidAccount()が期待され、バック偽来ているが、代わりにクラスのテストが無視されるので、彼らはすべてのエラーとして戻って来ています。これは、JUnit4テストランナーとmavenのEclipseで起こっています。

public class ClientTest extends TestCase { 

    @BeforeClass 
    public void setUp() { 
     // set up 
    } 

    @Before 
    public void mustHavePaidAccount() { 
     assumeTrue(isPaidAccount()); 
    } 

    @Test 
    public void testTheThings() { 
     // run this test if the user has a paid account 
    } 
} 

しかし、私はこれを行うとき、それは完全に@Beforeメソッドを無視して、とにかくテストを実行します:私もそうのような@BeforeメソッドにassumeTrueを移動しようとしています。繰り返しますが、私はEclipse Test RunnerとMavenの両方で同じ動作をしています。私は明らかに間違っていることをしていると確信していますが、それが何であるか分かりません。

答えて

7

TestCaseはJUnit 3.x用で、注釈を使用するのはJUnit 4.xです。 extends TestCaseを削除するとうまくいくはずです。

+0

はい!魅力のように動作します。 –

関連する問題