{"action":"created","issue":{"url":"https://api.github.com/repos/junit-team/junit/issues/1144","labels_url":"https://api.github.com/repos/junit-team/junit/issues/1144/labels{/name}","comments_url":"https://api.github.com/repos/junit-team/junit/issues/1144/comments","events_url":"https://api.github.com/repos/junit-team/junit/issues/1144/events","html_url":"https://github.com/junit-team/junit/issues/1144","id":78506234,"number":1144,"title":"Drop the need for rules, setup and test methods to be public","user":{"login":"olivergierke","id":128577,"avatar_url":"https://avatars.githubusercontent.com/u/128577?v=3","gravatar_id":"","url":"https://api.github.com/users/olivergierke","html_url":"https://github.com/olivergierke","followers_url":"https://api.github.com/users/olivergierke/followers","following_url":"https://api.github.com/users/olivergierke/following{/other_user}","gists_url":"https://api.github.com/users/olivergierke/gists{/gist_id}","starred_url":"https://api.github.com/users/olivergierke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivergierke/subscriptions","organizations_url":"https://api.github.com/users/olivergierke/orgs","repos_url":"https://api.github.com/users/olivergierke/repos","events_url":"https://api.github.com/users/olivergierke/events{/privacy}","received_events_url":"https://api.github.com/users/olivergierke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-05-20T12:32:46Z","updated_at":"2015-06-06T07:51:49Z","closed_at":null,"body":"As JUnit is interacting with a test class by reflection anyway, there's absolutely no need to insist on `@Rule` fields to be declared as `public`. Neither that's the case for setup methods or test methods in general.\r\n\r\nA framework interacting with the developer's types by reflection shouldn't impose visibility rules to standard type components like fields or methods unless absolutely necessary. Right now I find myself having to add `public` virtually everywhere with the only effect of losing control of visibilities in my code."},"comment":{"url":"https://api.github.com/repos/junit-team/junit/issues/comments/109547740","html_url":"https://github.com/junit-team/junit/issues/1144#issuecomment-109547740","issue_url":"https://api.github.com/repos/junit-team/junit/issues/1144","id":109547740,"user":{"login":"rschmitt","id":3725049,"avatar_url":"https://avatars.githubusercontent.com/u/3725049?v=3","gravatar_id":"","url":"https://api.github.com/users/rschmitt","html_url":"https://github.com/rschmitt","followers_url":"https://api.github.com/users/rschmitt/followers","following_url":"https://api.github.com/users/rschmitt/following{/other_user}","gists_url":"https://api.github.com/users/rschmitt/gists{/gist_id}","starred_url":"https://api.github.com/users/rschmitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rschmitt/subscriptions","organizations_url":"https://api.github.com/users/rschmitt/orgs","repos_url":"https://api.github.com/users/rschmitt/repos","events_url":"https://api.github.com/users/rschmitt/events{/privacy}","received_events_url":"https://api.github.com/users/rschmitt/received_events","type":"User","site_admin":false},"created_at":"2015-06-06T07:51:49Z","updated_at":"2015-06-06T07:51:49Z","body":"This feature request isn't about solving a problem so much as enhancing the experience of typing in test code. There are much more general routes to enhancing programmer convenience and productivity. You can create a [live template](https://www.jetbrains.com/idea/help/live-templates.html) (or whatever the Eclipse equivalent is) that will type _everything_ for you; not just the `public` keyword, but the `void` keyword, the `@Test` annotation, the `import` statement for the annotation, the `throws Exception` clause, and the braces for the test method."}}