junit测试类:

package sqltest.batch;

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.util.HashMap;
import sqltest.base.BaseTest;

// テスト対象クラス
//==================================================
import jp.batch.BT000;

public class BT000Test extends BaseTest
{

	// デグレード確認用
	@Test
	public void deleteTest() {
		try {
			BT000 bT000 = new BT000();

			Field fieldA = bT000.getClass().getDeclaredField("C_DATE");
			fieldA.setAccessible(true);
			fieldA.set(bT000, "6");

			Field fieldB = bT000.getClass().getDeclaredField("D_DATE");
			fieldB.setAccessible(true);
			fieldB.set(bT000, "7");

			Method method = bT000.getClass().getDeclaredMethod("deleteData", Connection.class);
			method.setAccessible(true);
			method.invoke(bT000, conn);

		}
		catch (Exception e)
		{
			// テスト失敗
			fail();
		}
		writeEndLog();
	}

}

bT000.getClass().getDeclaredField("C_DATE"):给测试类的私有属性【C_DATE】赋值

bT000.getClass().getDeclaredMethod("deleteData", Connection.class):调用测试类的私有【deleteData】方法

package jp.post.batch;

import java.sql.Connection;

public class BT000 extends Batch {

	// 日数
	private static String C_DATE = "";
	// 予定日数
	private static String D_DATE = "";

	private void deleteData(Connection conn) throws SQLException {

		System.out.println("hello World");

	}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐