前提・実現したいこと
JavaでJUnitを用いてテストコードを書いていて,Beforeアノテーションを用いて事前の処理を実現しようとしていました.しかし下記のように書いたところ,"@Before"の中身が実行されません. 出力を見ていただけると①が実行されずさらに②は実行されていることがわかります.さらにその出力結果からagentsに何も入っていないことが確認できます.
アノテーションをつけるだけでは実行されないのでしょうか?
出力
Test: 0
Process finished with exit code 0
該当のソースコード
Java
1package agent; 2 3import org.junit.Before; 4import org.junit.jupiter.api.Test; 5 6import java.util.ArrayList; 7import java.util.List; 8import myUtil.myRandom; 9 10import static org.hamcrest.CoreMatchers.is; 11import static org.hamcrest.MatcherAssert.assertThat; 12import static org.hamcrest.Matchers.greaterThanOrEqualTo; 13import static constants.EnvironmentalConstants.*; 14 15public class AgentTest { 16 private List<Agent> agents = new ArrayList<>(); 17 private int agentNum = 500; 18 19 // エージェントを生成し,myRandomにシードを設定しておく 20 @Before 21 public void setUp(){ 22 System.out.println("Before"); //①-1 23 myRandom.setRand(1000000009); 24 this.agents = Agent.lGenerateAgents(agentNum); 25 System.out.println("Before: " + agents.size()); //①-2 26 } 27 28 @Test 29 public void エージェントが全員違うところに配置されている(){ 30 System.out.println("Test: " + agents.size()); //② 31 // 以下略 32
補足情報(FW/ツールのバージョンなど)
~~ JUnit4 ~~
JUnit5
Intellij Idea
回答2件
あなたの回答
tips
プレビュー