{"action":"created","comment":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/comments/72394754","id":72394754,"diff_hunk":"@@ -87,6 +87,33 @@ methods in the `{Assertions}` class.\n include::{testDir}/example/AssertionsDemo.java[tags=user_guide]\n ----\n \n+Just like in JUnit 4, matchers can be used to make assertions more descriptive and readable.\n+Contrary to JUnit 4 and its http://junit.org/junit4/javadoc/latest/org/junit/Assert.html#assertThat[`org.junit.Assert`] class,\n+JUnit Jupiter does not provide a static method accepting a http://junit.org/junit4/javadoc/latest/org/hamcrest/Matcher.html[`Matcher`]\n+and is, therefore, not dependent on http://hamcrest.org/JavaHamcrest/[Hamcrest].\n+\n+In order to use the `assertThat` syntax in JUnit Jupiter, you can add a dependency on http://hamcrest.org/JavaHamcrest/[Hamcrest],\n+http://joel-costigliola.github.io/assertj/[AssertJ] or https://github.com/google/truth[Truth]\n+and statically import the necessary methods supported by your chosen framework.\n+\n+[source,java,indent=0]\n+[subs=\"verbatim\"]\n+----\n+import org.junit.jupiter.api.Test;\n+import static org.hamcrest.MatcherAssert.assertThat;\n+import static org.hamcrest.Is.is;","path":"documentation/src/docs/asciidoc/writing-tests.adoc","position":18,"original_position":18,"commit_id":"5a378a76545374911fea114494fb8e2b77c4fdcf","original_commit_id":"5a378a76545374911fea114494fb8e2b77c4fdcf","user":{"login":"marcphilipp","id":214207,"avatar_url":"https://avatars.githubusercontent.com/u/214207?v=3","gravatar_id":"","url":"https://api.github.com/users/marcphilipp","html_url":"https://github.com/marcphilipp","followers_url":"https://api.github.com/users/marcphilipp/followers","following_url":"https://api.github.com/users/marcphilipp/following{/other_user}","gists_url":"https://api.github.com/users/marcphilipp/gists{/gist_id}","starred_url":"https://api.github.com/users/marcphilipp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcphilipp/subscriptions","organizations_url":"https://api.github.com/users/marcphilipp/orgs","repos_url":"https://api.github.com/users/marcphilipp/repos","events_url":"https://api.github.com/users/marcphilipp/events{/privacy}","received_events_url":"https://api.github.com/users/marcphilipp/received_events","type":"User","site_admin":false},"body":"IMHO this static import should rather use `org.hamcrest.Matchers` or `org.hamcrest.CoreMatchers`.","created_at":"2016-07-27T07:48:37Z","updated_at":"2016-07-27T07:48:37Z","html_url":"https://github.com/junit-team/junit5/pull/441#discussion_r72394754","pull_request_url":"https://api.github.com/repos/junit-team/junit5/pulls/441","_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments/72394754"},"html":{"href":"https://github.com/junit-team/junit5/pull/441#discussion_r72394754"},"pull_request":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/441"}}},"pull_request":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/441","id":78940010,"html_url":"https://github.com/junit-team/junit5/pull/441","diff_url":"https://github.com/junit-team/junit5/pull/441.diff","patch_url":"https://github.com/junit-team/junit5/pull/441.patch","issue_url":"https://api.github.com/repos/junit-team/junit5/issues/441","number":441,"state":"open","locked":false,"title":"Issue #428 Documented 3rd party assertions","user":{"login":"toniedzwiedz","id":8336085,"avatar_url":"https://avatars.githubusercontent.com/u/8336085?v=3","gravatar_id":"","url":"https://api.github.com/users/toniedzwiedz","html_url":"https://github.com/toniedzwiedz","followers_url":"https://api.github.com/users/toniedzwiedz/followers","following_url":"https://api.github.com/users/toniedzwiedz/following{/other_user}","gists_url":"https://api.github.com/users/toniedzwiedz/gists{/gist_id}","starred_url":"https://api.github.com/users/toniedzwiedz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toniedzwiedz/subscriptions","organizations_url":"https://api.github.com/users/toniedzwiedz/orgs","repos_url":"https://api.github.com/users/toniedzwiedz/repos","events_url":"https://api.github.com/users/toniedzwiedz/events{/privacy}","received_events_url":"https://api.github.com/users/toniedzwiedz/received_events","type":"User","site_admin":false},"body":"## Overview\r\n\r\nAdded a paragraph documenting the use of 3rd party matchers in JUnit Jupiter in section 3.4 of the user guide.\r\n\r\nThis resolves #428 \r\n\r\n---\r\n\r\nI hereby agree to the terms of the JUnit Contributor License Agreement.\r\n\r\n","created_at":"2016-07-26T22:56:36Z","updated_at":"2016-07-27T07:48:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2202f569b68f9d3bb70979ccbbae9b5de7bdee65","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/junit-team/junit5/milestones/6","html_url":"https://github.com/junit-team/junit5/milestones/5.0%20M3","labels_url":"https://api.github.com/repos/junit-team/junit5/milestones/6/labels","id":1885703,"number":6,"title":"5.0 M3","description":"Themes: JUnit 4 interoperability, additional discovery selectors, documentation","creator":{"login":"sbrannen","id":104798,"avatar_url":"https://avatars.githubusercontent.com/u/104798?v=3","gravatar_id":"","url":"https://api.github.com/users/sbrannen","html_url":"https://github.com/sbrannen","followers_url":"https://api.github.com/users/sbrannen/followers","following_url":"https://api.github.com/users/sbrannen/following{/other_user}","gists_url":"https://api.github.com/users/sbrannen/gists{/gist_id}","starred_url":"https://api.github.com/users/sbrannen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbrannen/subscriptions","organizations_url":"https://api.github.com/users/sbrannen/orgs","repos_url":"https://api.github.com/users/sbrannen/repos","events_url":"https://api.github.com/users/sbrannen/events{/privacy}","received_events_url":"https://api.github.com/users/sbrannen/received_events","type":"User","site_admin":false},"open_issues":35,"closed_issues":10,"state":"open","created_at":"2016-07-15T14:13:22Z","updated_at":"2016-07-27T00:16:46Z","due_on":"2016-09-29T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/junit-team/junit5/pulls/441/commits","review_comments_url":"https://api.github.com/repos/junit-team/junit5/pulls/441/comments","review_comment_url":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}","comments_url":"https://api.github.com/repos/junit-team/junit5/issues/441/comments","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/5a378a76545374911fea114494fb8e2b77c4fdcf","head":{"label":"toniedzwiedz:issue428-document-3rd-party-assertions","ref":"issue428-document-3rd-party-assertions","sha":"5a378a76545374911fea114494fb8e2b77c4fdcf","user":{"login":"toniedzwiedz","id":8336085,"avatar_url":"https://avatars.githubusercontent.com/u/8336085?v=3","gravatar_id":"","url":"https://api.github.com/users/toniedzwiedz","html_url":"https://github.com/toniedzwiedz","followers_url":"https://api.github.com/users/toniedzwiedz/followers","following_url":"https://api.github.com/users/toniedzwiedz/following{/other_user}","gists_url":"https://api.github.com/users/toniedzwiedz/gists{/gist_id}","starred_url":"https://api.github.com/users/toniedzwiedz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toniedzwiedz/subscriptions","organizations_url":"https://api.github.com/users/toniedzwiedz/orgs","repos_url":"https://api.github.com/users/toniedzwiedz/repos","events_url":"https://api.github.com/users/toniedzwiedz/events{/privacy}","received_events_url":"https://api.github.com/users/toniedzwiedz/received_events","type":"User","site_admin":false},"repo":{"id":64256543,"name":"junit5","full_name":"toniedzwiedz/junit5","owner":{"login":"toniedzwiedz","id":8336085,"avatar_url":"https://avatars.githubusercontent.com/u/8336085?v=3","gravatar_id":"","url":"https://api.github.com/users/toniedzwiedz","html_url":"https://github.com/toniedzwiedz","followers_url":"https://api.github.com/users/toniedzwiedz/followers","following_url":"https://api.github.com/users/toniedzwiedz/following{/other_user}","gists_url":"https://api.github.com/users/toniedzwiedz/gists{/gist_id}","starred_url":"https://api.github.com/users/toniedzwiedz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toniedzwiedz/subscriptions","organizations_url":"https://api.github.com/users/toniedzwiedz/orgs","repos_url":"https://api.github.com/users/toniedzwiedz/repos","events_url":"https://api.github.com/users/toniedzwiedz/events{/privacy}","received_events_url":"https://api.github.com/users/toniedzwiedz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/toniedzwiedz/junit5","description":"The next generation of JUnit.","fork":true,"url":"https://api.github.com/repos/toniedzwiedz/junit5","forks_url":"https://api.github.com/repos/toniedzwiedz/junit5/forks","keys_url":"https://api.github.com/repos/toniedzwiedz/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/toniedzwiedz/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/toniedzwiedz/junit5/teams","hooks_url":"https://api.github.com/repos/toniedzwiedz/junit5/hooks","issue_events_url":"https://api.github.com/repos/toniedzwiedz/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/toniedzwiedz/junit5/events","assignees_url":"https://api.github.com/repos/toniedzwiedz/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/toniedzwiedz/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/toniedzwiedz/junit5/tags","blobs_url":"https://api.github.com/repos/toniedzwiedz/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/toniedzwiedz/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/toniedzwiedz/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/toniedzwiedz/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/toniedzwiedz/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/toniedzwiedz/junit5/languages","stargazers_url":"https://api.github.com/repos/toniedzwiedz/junit5/stargazers","contributors_url":"https://api.github.com/repos/toniedzwiedz/junit5/contributors","subscribers_url":"https://api.github.com/repos/toniedzwiedz/junit5/subscribers","subscription_url":"https://api.github.com/repos/toniedzwiedz/junit5/subscription","commits_url":"https://api.github.com/repos/toniedzwiedz/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/toniedzwiedz/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/toniedzwiedz/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/toniedzwiedz/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/toniedzwiedz/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/toniedzwiedz/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/toniedzwiedz/junit5/merges","archive_url":"https://api.github.com/repos/toniedzwiedz/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/toniedzwiedz/junit5/downloads","issues_url":"https://api.github.com/repos/toniedzwiedz/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/toniedzwiedz/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/toniedzwiedz/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/toniedzwiedz/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/toniedzwiedz/junit5/labels{/name}","releases_url":"https://api.github.com/repos/toniedzwiedz/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/toniedzwiedz/junit5/deployments","created_at":"2016-07-26T21:38:21Z","updated_at":"2016-07-26T21:38:23Z","pushed_at":"2016-07-26T23:00:13Z","git_url":"git://github.com/toniedzwiedz/junit5.git","ssh_url":"git@github.com:toniedzwiedz/junit5.git","clone_url":"https://github.com/toniedzwiedz/junit5.git","svn_url":"https://github.com/toniedzwiedz/junit5","homepage":"http://junit.org/junit5/","size":35673,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"junit-team:master","ref":"master","sha":"b15d8f3f6ff9ab9e11d5a3751e97d82c68ba4d38","user":{"login":"junit-team","id":874086,"avatar_url":"https://avatars.githubusercontent.com/u/874086?v=3","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"repo":{"id":29102367,"name":"junit5","full_name":"junit-team/junit5","owner":{"login":"junit-team","id":874086,"avatar_url":"https://avatars.githubusercontent.com/u/874086?v=3","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/junit-team/junit5","description":"The next generation of JUnit.","fork":false,"url":"https://api.github.com/repos/junit-team/junit5","forks_url":"https://api.github.com/repos/junit-team/junit5/forks","keys_url":"https://api.github.com/repos/junit-team/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/junit-team/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/junit-team/junit5/teams","hooks_url":"https://api.github.com/repos/junit-team/junit5/hooks","issue_events_url":"https://api.github.com/repos/junit-team/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/junit-team/junit5/events","assignees_url":"https://api.github.com/repos/junit-team/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/junit-team/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/junit-team/junit5/tags","blobs_url":"https://api.github.com/repos/junit-team/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/junit-team/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/junit-team/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/junit-team/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/junit-team/junit5/languages","stargazers_url":"https://api.github.com/repos/junit-team/junit5/stargazers","contributors_url":"https://api.github.com/repos/junit-team/junit5/contributors","subscribers_url":"https://api.github.com/repos/junit-team/junit5/subscribers","subscription_url":"https://api.github.com/repos/junit-team/junit5/subscription","commits_url":"https://api.github.com/repos/junit-team/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/junit-team/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/junit-team/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/junit-team/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/junit-team/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/junit-team/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/junit-team/junit5/merges","archive_url":"https://api.github.com/repos/junit-team/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/junit-team/junit5/downloads","issues_url":"https://api.github.com/repos/junit-team/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/junit-team/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/junit-team/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/junit-team/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/junit-team/junit5/labels{/name}","releases_url":"https://api.github.com/repos/junit-team/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/junit-team/junit5/deployments","created_at":"2015-01-11T19:06:10Z","updated_at":"2016-07-26T04:31:45Z","pushed_at":"2016-07-26T23:00:13Z","git_url":"git://github.com/junit-team/junit5.git","ssh_url":"git@github.com:junit-team/junit5.git","clone_url":"https://github.com/junit-team/junit5.git","svn_url":"https://github.com/junit-team/junit5","homepage":"http://junit.org/junit5/","size":45904,"stargazers_count":549,"watchers_count":549,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":110,"mirror_url":null,"open_issues_count":96,"forks":110,"open_issues":96,"watchers":549,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/441"},"html":{"href":"https://github.com/junit-team/junit5/pull/441"},"issue":{"href":"https://api.github.com/repos/junit-team/junit5/issues/441"},"comments":{"href":"https://api.github.com/repos/junit-team/junit5/issues/441/comments"},"review_comments":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/441/comments"},"review_comment":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/441/commits"},"statuses":{"href":"https://api.github.com/repos/junit-team/junit5/statuses/5a378a76545374911fea114494fb8e2b77c4fdcf"}}}}
{"actor":{"display_login":"marcphilipp"}}