I want to pass my test.When I run my test it gets fail because expected and actual is not matching. How to do with assert command?
When I copy the actual value it shows like an error:
{"level":"error","msg":"REG_DEV_EXISTS_00","meta":[]}"}
Here is my code:
public class registerCounter {
@Test(dataProvider = "register")
public void md5JsonTest(String secret,String mac,String id, String md5Hash) {
given().
parameters("s", secret).parameters("m",mac).parameters("d",id).
when().
get("http://baseUrl/register/device").
then().
assertThat().
body("md5", equalTo(md5Hash));
}
@DataProvider(name = "register")
public Object[][] createMD5TestData() {
return new String[][] {
{"b30b33","d3r34ret34t5r","8","REG_DEV_EXISTS_00"}
};
}
}
Error:
java.lang.AssertionError: XML path md5 doesn't match.
Expected: REG_DEV_EXISTS_00
Actual: {"level":"error","msg":"REG_DEV_EXISTS_00","meta":[]}
I put containsString
java.lang.AssertionError: XML path md5 doesn't match.
Expected: a string containing "REG_DEV_EXISTS_00"
Actual: {"level":"error","msg":"REG_DEV_EXISTS_00","meta":[]}