質問が本当にある場合:
Javaでユニットテストするときにコードのセクションをスキップするにはどうすればよいですか?
それから私は与えられた答えに同意します。依存性注入、モックフレームワークは、真の単体テストを実行するための絶対的に正しい方法です。
ただし、質問が次の場合:
JUnit(または他の単体テストフレームワーク)を使用するときにコードのセクションをスキップするにはどうすればよいですか?
それなら答えは「状況次第」だと思います。統合テストにJUnitを使用することがあります。これは、テストサーバーに対して実行するクライアントコードのスニペットであり、GUIを介してこれらのクライアント側テストを手動で実行する手間を省きます。この場合、たとえば基本クラスでシステムプロパティを使用します。
protected boolean skipTest()
{
String port = System.getProperty("jersey.test.port");
// don't run this test unless developer has explicitly set the testing properties
// this is an integration test, not a unit test
return port == null;
}
次に、実際のテストクラスでは次のようになります。
// verify a successful login
@Test
public void testLogin()
{
if (skipTest())
return;
// do real test
したがって、私の考えでは、DAOからOracleのものをリファクタリングできない場合は、実際に統合テストを実行しており、単体テストにskipTestを含めても問題ありません。