Java の ErrorCollector に問題があります。
2 つの値を比較するコードがあります。値が一致する場合、結果は合格です。値が一致しない場合、失敗します。シンプルに聞こえます。そこで、基本的なテスト ケースを作成しました。
public class CB_Test {
@Rule
public ErrorCollector collector = new ErrorCollector();
@Before
public void setUp() {
//steps = new WebDriverSteps(new FirefoxDriver());
//steps = new WebDriverSteps();
}
@Test
public void testme() {
String checkMe;
String value;
checkMe = "1234";
value = "2234";
System.out.println("value coming in : " + value);
System.out.println("value to check : " + checkMe);
collector.checkThat("Check values match", value, is(checkMe));
}
}
これは、私が望んでいたとおりに動作します。ただし、このコードを他の場所から呼び出せるようにしたいと考えていました。そこで、次のような「メイン」ファイルを作成しました。
public class ABC_Test {
@Before
public void setUp() {
//steps = new WebDriverSteps(new FirefoxDriver());
//steps = new WebDriverSteps();
}
@Test
public void check() {
CheckVal dv = new CheckVal();
try {
dv.checkTable("4234");
} catch (AssertionError er) {
System.out.println("22");
} catch (Exception e) {
System.out.println("23");
} catch (Throwable t) {
System.out.println("24");
}
}
}
チェックを行うコードを次の場所に移動しました。
public class CheckVal {
@Rule
public ErrorCollector collector = new ErrorCollector();
public void checkTable(String value) {
String checkMe;
checkMe = "1234";
System.out.println("value coming in : " + value);
System.out.println("value to check : " + checkMe);
collector.checkThat("Check values match", value, is(checkMe));
}
}
しかし、コードを実行すると、失敗を生成する値を導入した場合でも、常にパスが得られます。ここで何が間違っているのかわかりません。(私はコードが乱雑であることを知っています - これは私の問題を試して見るための最も簡単な方法に分解しようとする私の試みです.)