ユニットテストと、テスト時に正しいクラスを取得する方法を理解しようとしています 舞台裏で何が起こっているかを正確に理解するのは難しいですこれのための使用法はあります。Javaユニットのテストパスの一致
これは、私がやろうとしていることの非常に単純な例です。私はここにインラインで書いていますので、おそらくいくつかのエラーが含まれているので、無視してみてください。
非常に単純なプロジェクトディレクトリ:
ba/src/main/java/utils/BaUtils.java ba/test/main/java/utils/BaUtilsTest.java notBa/src/main/java/im/BaObj.java
BaUtils.javaコード:
package com.ba.utils;
import notBa.im.BaObj;
public class BaUtils{
public String doSomething(BaObj obj){
obj.doSomething();
}
}
私は実際にdoSomethingを呼び出しwihtout BaUtilsをテストしたい、と私は何も変更することはできませんBaObj
クラスまたはnotBa
パッケージ。元のBaObjと同じパッケージを持つ 'ba'プロジェクト(ba/test/java/notBa/main/java/im/BaObj.java
)に新しいJavaファイルを追加することができます。実行時には、代わりにこのファイルがインポートされます実際のコードのBaUtils
コードがテストされましたが、BaObj
コードは実行されません。
package notBa.im.Baobj
public class BaObj{
public void doSomething(){
System.out.println("Did something");
}
}
私の質問である(そして、ここまで到達してくれてありがとう):
この作業を行いどのよう(読み参照は素晴らしいことだ)などのようになるはず
。
この種のテストビルは「良い」または「安全」と考えられていますか?
ありがとうございます!
BaUtils.javaでいくつかのコードが変更されたらどうしますか? – Jobin
BaUtils.javaはテストしたいコードです。変更するとテストを中断する必要があります。つまり、テストが機能したことを意味します。 – ABR