Q:

JUnit which is recommended assertTrue() or assertEquals() for String?

My code is like below
@Test
public void testMyMethod(){
    MyClass mc = new MyClass();
    String exeVal="sometext some text";
    String x=mc.exampleMethod();

    // Assertion type 1
    Assert.assertEquals(exeVal,x);
    //Assertion Type 2
    Assert.assertTrue(exeVal.equals(x));
}

I want to know which is the best approach.

A:

Type 1 is preferred because of the assertion message you will receive when they do not match.
org.junit.ComparisonFailure: expected: <[foo]> but was: <[bar]>

vs
java.lang.AssertionError

