Any way to show assertEquals error message along with the given custom message in TestNg soft assertion -
here's a link
is there way display default assertequals error message along custom message given in soft assertion?
my requirement have custom message , assert error message below. "brokedown expected [1] found [0]"
import org.testng.annotations.test; import org.testng.asserts.softassert; public class softasert { @test public void test() { softassert asert=new softassert(); asert.assertequals(false, true,"failed"); asert.assertequals(0, 1,"brokedown"); asert.assertall(); } }
you can create own softassert, should magic:
public class mysoftassert extends assertion { // linkedhashmap preserve order private map<assertionerror, iassert> m_errors = maps.newlinkedhashmap(); @override public void executeassert(iassert a) { try { a.doassert(); } catch(assertionerror ex) { onassertfailure(a, ex); m_errors.put(ex, a); } } public void assertall() { if (! m_errors.isempty()) { stringbuilder sb = new stringbuilder("the following asserts failed:\n"); boolean first = true; (map.entry<assertionerror, iassert> ae : m_errors.entryset()) { if (first) { first = false; } else { sb.append(", "); } sb.append(ae.getkey().getmessage()); } throw new assertionerror(sb.tostring()); } } }