junitでprivateメソッドのテストしたかったので調べてみました。

このクラスのisEmpty(String)を呼び出そうと思います。

package com.ctrltf.test.sample;

class MailAddressValidator {

	public boolean validate(String mailAddress) {
		return !isEmpty(mailAddress);
	}

	private boolean isEmpty(String mailAddress) {
		return (mailAddress == null || mailAddress.length() == 0);
	}
}

こんな感じてテストすることができました。
リフレクションを使って、privateメソッドを呼び出しています。

package com.ctrltf.test.sample;

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

import java.lang.reflect.Method;

import org.junit.BeforeClass;
import org.junit.Test;

public class PrivateMethodTest {

	@BeforeClass
	public static void prepare() {

	}

	@Test
	public void sample() {

		try {
			MailAddressValidator validator = new MailAddressValidator();

			Method method = MailAddressValidator.class.getDeclaredMethod(
				"isEmpty", // メソッド名(呼び出したいprivateメソッドの名称を指定する。)
				new Class[] {
					String.class // メソッドの引数の型
				}

			);
			method.setAccessible(true); // アクセス可能にする。
			assertThat(
				(Boolean)method.invoke(validator, "system@ctrltf.com"), // "system@ctrltf.com"はメソッドの引数です。
				is(Boolean.FALSE)
			);

		} catch (Exception e) {
		    e.printStackTrace();
		}
	}
}

お試しください。