Java-Objekt ist eine Instanz der Klasse deklarieren

public class SendEmailImpl 
{     
    private boolean isValidEmailAddress(String email)
    {
        boolean stricterFilter = true;
        String stricterFilterString = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        String laxString = ".+@.+\\.[A-Za-z]{2}[A-Za-z]*";
        String emailRegex = stricterFilter ? stricterFilterString : laxString;
        Pattern p = Pattern.compile(emailRegex);
        Matcher m = p.matcher(email);
        return m.matches();
    } 
}

Ich versuchte zu rufen, diesen code mit der spiegelung

@Test
public void testValidEmail() throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
    Method method = SendEmailImpl.class.getDeclaredMethod("isValidEmailAddress", String.class);
    method.setAccessible(true);
    Boolean invoke = (Boolean) method.invoke("isValidEmailAddress", String.class);

    assertTrue(invoke);
    System.out.println("Testing E-mail validator - case [email protected]");
}

Aber ich bekomme Fehler

java.lang.IllegalArgumentException: Objekt ist eine Instanz der Klasse deklarieren

Haben Sie keine Ahnung, wo ist mein code falsch?

Ich auch so probiert:

@Test
public void testValidEmail() throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
    Method method1 = SendEmailImpl.class.getDeclaredMethod("isValidEmailAddress", String.class);
    method1.setAccessible(true);

    Boolean invoke = (Boolean)method1.invoke(String.class);
    assertTrue(invoke);
    System.out.println("Testing E-mail validator - case [email protected]");
}

Aber das Ergebnis ist das gleiche.

welche Linie ist das werfen der exception?
Diese ein Boolean-invoke = (Boolean)method1.invoke(String.class);

InformationsquelleAutor Peter Penzov | 2015-11-02

Schreibe einen Kommentar