Assertion chaining with Hamcrest

5.0 02 In some cases we want to assert more than one thing in a test. For instance when testing a financial application with a chart of accounts that contains multiple calculated fields. Those fields […]

A guide to clear assertions with Hamcrest

5.0 01 A good practice in test automation is the use of Descriptive And Meaningful Phrases (also known as DAMP). This means that our tests clearly tell us what they do in language that is […]

Combining assertions

0.0 00 allOf Given the following example: <code lang="java"> public void testAssert() { String s = "This is some text."; assertThat( "Assert a string starting with Tis and a string ending with ext.", s, Matchers.allOf(Matchers.startsWith("Tis"), […]

Assert collections

5.0 01 hasItems Given the following example: <code lang="java"> public void testAssert() { List<String> list = new ArrayList<String>(); list.add("test"); list.add("webdriver"); assertThat("Assert that the list contains: tedst", list, Matchers.hasItems("tedst")); } </code> Returns the following output when […]

Assert booleans

0.0 00 Given the following example: <code lang="java"> public void testAssert() { boolean b = false; assertThat("Assert boolean b against expected result: true", b, Matchers.equalTo(true)); } </code> Returns the following output when the assertion fails: […]

Assert numbers

0.0 00 equalTo Given the following example: <code lang="java"> public void testAssert() { int n = 4; assertThat("Assert that n is equal to 5", n, Matchers .equalTo(5)); } </code> Returns the following output when the […]

Assert text

0.0 00 equalTo Given the following example: <code lang="java"> public void testAssert() { String s = "This is some text."; assertThat("Assert s to match the exact text", s, Matchers .equalTo("Tis is some text.")); } </code> […]

Add dependency to your project

0.0 00 There are two ways of adding dependencies to your project, as discussed in chapter 4. You can manually add dependencies or you can add the dependency to the POM file (then it will […]

Improved assertions – Introduction

5.0 01 Matchers are the way to validate the result in your test script. Hamcrest is a Java library of Matchers objects. Hamcrest has been ported to several languages, like: Java, C++, Objective-C, Python, ActionScript […]