私は次のコードを持っています:
@BeforeClass
public static void setUpOnce() throws InterruptedException {
fail("LOL");
}
また、@ Before、@ After、@ Test、または@AfterClassメソッドのいずれかである他のさまざまなメソッド。
起動時にテストが失敗することはないようです。誰かが私を助けてくれますか?
私はJUnit 4.5を持っています
@beforeと注釈が付けられたsetUp()への即時呼び出しでメソッドが失敗します。クラス定義は:
public class myTests extends TestCase {
testCaseを拡張せず、同時にアノテーションを使用してください。
注釈付きのテストスイートを作成する必要がある場合は、次のようにRunWith注釈を使用します。
@RunWith(Suite.class)
@Suite.SuiteClasses({ MyTests.class, OtherTest.class })
public class AllTests {
// empty
}
public class MyTests { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
(慣例:大文字のクラス名)
メソッド 静的である必要があります であり、直接failを呼び出さない(そうでない場合、他のメソッドは実行されません)。
次のクラスは、すべての標準JUnit 4メソッドタイプを示しています。
public class Sample {
@BeforeClass
public static void beforeClass() {
System.out.println("@BeforeClass");
}
@Before
public void before() {
System.out.println("@Before");
}
@Test
public void test() {
System.out.println("@Test");
}
@After
public void after() {
System.out.println("@After");
}
@AfterClass
public static void afterClass() {
System.out.println("@AfterClass");
}
}
そして出力は(驚くべきことではありません):
@BeforeClass
@Before
@Test
@After
@AfterClass
確認してください:
以前に注釈が付けられた関数が実行されるようにするために、私は次のことを行わなければなりませんでした:Mavenを使用する場合は、Junit 4.11+に依存関係を追加します。
<properties>
<version.Java>1.7</version.Java>
<version.log4j>1.2.13</version.log4j>
<version.mockito>1.9.0</version.mockito>
<version.power-mockito>1.4.12</version.power-mockito>
<version.junit>4.11</version.junit>
<version.power-mockito>1.4.12</version.power-mockito>
</properties>
そして依存関係:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
.
.
.
</dependencies>
Junit TestクラスがTestCaseクラスを拡張していないことを確認してください。これにより、古いバージョンとの重複が発生します。
public class TuxedoExceptionMapperTest{
protected TuxedoExceptionMapper subject;
@Before
public void before() throws Exception {
subject = TuxedoExceptionMapper.getInstance();
System.out.println("Start");
MockitoAnnotations.initMocks(this);
}
}