私はテストのソフトウェアエンジニアであり、テストが代わりにそれらを実行できるように、本番側のメソッドを置き換えることができるコードを書き込もうとしています。基本的に、テスト容易性のために製品コードを変更したくありません。
簡単なシナリオは次のとおりです。
public class Foo {
public static void foo() {
printA();
}
public static void printA() {
System.out.println("A");
}
public static void printB() {
System.out.println("B");
}
}
public class Foobar {
public Foobar() {
}
public void test() {
Foo.foo();
}
public static void main(String[] args) {
//Try changing the method here
new Foobar().test();
}
}
ご覧のとおり、メインが実行されると、静的メソッドfoo()でメソッドprintAが呼び出されるため、「A」が出力されます。実行時に、fooがprintAではなくprintBを呼び出すように注入または変更する方法はありますか?
助けてくれてありがとう!