初期化中に静的変数が割り当てられたクラスがあります。この静的変数の値を変更して、このクラスの単体テストを作成したいと思います。ユニット初期化中に静的変数を変更してテストする
public class Hello {
private final static String HELLO_FINAL = "Hello " + HelloTo.getInstance().getHelloTo(); // I would like to modify this value between tests
public String sayHello() {
return HELLO_FINAL;
}
}
サポートクラス:
public class HelloTo {
private String helloTo = "World";
private static HelloTo singleton = new HelloTo();
private HelloTo() {}
public static HelloTo getInstance() {
return singleton;
}
public void setHelloTo(String helloTo) {
this.helloTo = helloTo;
}
public String getHelloTo() {
return helloTo;
}
}
Testクラス:
import org.junit.Assert;
import org.junit.Test;
public class HelloTest {
@Test
public void testDefault() {
Assert.assertEquals("Hello World", new Hello().sayHello());
}
@Test
public void testDynamic() {
HelloTo.getInstance().setHelloTo("My name");
Assert.assertEquals("Hello My name", new Hello().sayHello());
}
}
作るための方法があり、以下のテストに私のシナリオ
クラスを説明するための簡単なコードです両方のテストが成功した。現在、私は言って)(testDymanicのための失敗を取得:
org.junit.ComparisonFailure: expected:<Hello [World]> but was:<Hello [My name]>
感謝を事前に!