{"action":"closed","issue":{"url":"https://api.github.com/repos/SonarSource/sonar-csharp/issues/1498","repository_url":"https://api.github.com/repos/SonarSource/sonar-csharp","labels_url":"https://api.github.com/repos/SonarSource/sonar-csharp/issues/1498/labels{/name}","comments_url":"https://api.github.com/repos/SonarSource/sonar-csharp/issues/1498/comments","events_url":"https://api.github.com/repos/SonarSource/sonar-csharp/issues/1498/events","html_url":"https://github.com/SonarSource/sonar-csharp/issues/1498","id":335367814,"node_id":"MDU6SXNzdWUzMzUzNjc4MTQ=","number":1498,"title":"Test method detection code is not consistent across rules","user":{"login":"duncanp-sonar","id":10757559,"node_id":"MDQ6VXNlcjEwNzU3NTU5","avatar_url":"https://avatars1.githubusercontent.com/u/10757559?v=4","gravatar_id":"","url":"https://api.github.com/users/duncanp-sonar","html_url":"https://github.com/duncanp-sonar","followers_url":"https://api.github.com/users/duncanp-sonar/followers","following_url":"https://api.github.com/users/duncanp-sonar/following{/other_user}","gists_url":"https://api.github.com/users/duncanp-sonar/gists{/gist_id}","starred_url":"https://api.github.com/users/duncanp-sonar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncanp-sonar/subscriptions","organizations_url":"https://api.github.com/users/duncanp-sonar/orgs","repos_url":"https://api.github.com/users/duncanp-sonar/repos","events_url":"https://api.github.com/users/duncanp-sonar/events{/privacy}","received_events_url":"https://api.github.com/users/duncanp-sonar/received_events","type":"User","site_admin":false},"labels":[{"id":731543503,"node_id":"MDU6TGFiZWw3MzE1NDM1MDM=","url":"https://api.github.com/repos/SonarSource/sonar-csharp/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"b60205","default":false},{"id":572765140,"node_id":"MDU6TGFiZWw1NzI3NjUxNDA=","url":"https://api.github.com/repos/SonarSource/sonar-csharp/labels/Type:%20Improvement","name":"Type: Improvement","color":"1d76db","default":false}],"state":"closed","locked":false,"assignee":{"login":"duncanp-sonar","id":10757559,"node_id":"MDQ6VXNlcjEwNzU3NTU5","avatar_url":"https://avatars1.githubusercontent.com/u/10757559?v=4","gravatar_id":"","url":"https://api.github.com/users/duncanp-sonar","html_url":"https://github.com/duncanp-sonar","followers_url":"https://api.github.com/users/duncanp-sonar/followers","following_url":"https://api.github.com/users/duncanp-sonar/following{/other_user}","gists_url":"https://api.github.com/users/duncanp-sonar/gists{/gist_id}","starred_url":"https://api.github.com/users/duncanp-sonar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncanp-sonar/subscriptions","organizations_url":"https://api.github.com/users/duncanp-sonar/orgs","repos_url":"https://api.github.com/users/duncanp-sonar/repos","events_url":"https://api.github.com/users/duncanp-sonar/events{/privacy}","received_events_url":"https://api.github.com/users/duncanp-sonar/received_events","type":"User","site_admin":false},"assignees":[{"login":"duncanp-sonar","id":10757559,"node_id":"MDQ6VXNlcjEwNzU3NTU5","avatar_url":"https://avatars1.githubusercontent.com/u/10757559?v=4","gravatar_id":"","url":"https://api.github.com/users/duncanp-sonar","html_url":"https://github.com/duncanp-sonar","followers_url":"https://api.github.com/users/duncanp-sonar/followers","following_url":"https://api.github.com/users/duncanp-sonar/following{/other_user}","gists_url":"https://api.github.com/users/duncanp-sonar/gists{/gist_id}","starred_url":"https://api.github.com/users/duncanp-sonar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncanp-sonar/subscriptions","organizations_url":"https://api.github.com/users/duncanp-sonar/orgs","repos_url":"https://api.github.com/users/duncanp-sonar/repos","events_url":"https://api.github.com/users/duncanp-sonar/events{/privacy}","received_events_url":"https://api.github.com/users/duncanp-sonar/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/SonarSource/sonar-csharp/milestones/27","html_url":"https://github.com/SonarSource/sonar-csharp/milestone/27","labels_url":"https://api.github.com/repos/SonarSource/sonar-csharp/milestones/27/labels","id":3368934,"node_id":"MDk6TWlsZXN0b25lMzM2ODkzNA==","number":27,"title":"7.4","description":"Kill the Noise","creator":{"login":"agigleux","id":1057037,"node_id":"MDQ6VXNlcjEwNTcwMzc=","avatar_url":"https://avatars3.githubusercontent.com/u/1057037?v=4","gravatar_id":"","url":"https://api.github.com/users/agigleux","html_url":"https://github.com/agigleux","followers_url":"https://api.github.com/users/agigleux/followers","following_url":"https://api.github.com/users/agigleux/following{/other_user}","gists_url":"https://api.github.com/users/agigleux/gists{/gist_id}","starred_url":"https://api.github.com/users/agigleux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agigleux/subscriptions","organizations_url":"https://api.github.com/users/agigleux/orgs","repos_url":"https://api.github.com/users/agigleux/repos","events_url":"https://api.github.com/users/agigleux/events{/privacy}","received_events_url":"https://api.github.com/users/agigleux/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":59,"state":"open","created_at":"2018-05-23T13:21:02Z","updated_at":"2018-08-20T16:10:00Z","due_on":"2018-08-17T07:00:00Z","closed_at":null},"comments":0,"created_at":"2018-06-25T11:32:55Z","updated_at":"2018-08-20T16:10:00Z","closed_at":"2018-08-20T16:10:00Z","author_association":"CONTRIBUTOR","body":"A number of rules contain checks to decide whether a method is a test method or not (either to exclude or include it).\r\n\r\nHowever, the rules aren't consistent in how they decide e.g. _TestClassShouldHaveTestMethod_ doesn't handle _XUnit_, but _TestMethodShouldContainAssertion_ does.\r\n\r\nCentralising the detection code will also make it easier to update when e.g. the namespace of the _XUnit_ attributes changes.\r\n\r\nThe following rules are test-only rules:\r\n* [S1607](https://jira.sonarsource.com/browse/RSPEC-1607) Tests should not be ignored\r\n* [S2187](https://jira.sonarsource.com/browse/RSPEC-2187) Test cases should contain tests\r\n* [S2699](https://jira.sonarsource.com/browse/RSPEC-2699) Tests should include assertions\r\n* [S2701](https://jira.sonarsource.com/browse/RSPEC-2701) Literal boolean values should not be used in assertions\r\n* [S3415](https://jira.sonarsource.com/browse/RSPEC-3415) Assertion arguments should be passed in the correct order\r\n* [S3431](https://jira.sonarsource.com/browse/RSPEC-3431) [ExpectedException] should not be used\r\n* [S3433](https://jira.sonarsource.com/browse/RSPEC-3433) Test method signatures should be correct\r\n"}}
{"actor":{"display_login":"duncanp-sonar"}}