{"action":"created","issue":{"url":"https://api.github.com/repos/new-xkit/XKit/issues/786","labels_url":"https://api.github.com/repos/new-xkit/XKit/issues/786/labels{/name}","comments_url":"https://api.github.com/repos/new-xkit/XKit/issues/786/comments","events_url":"https://api.github.com/repos/new-xkit/XKit/issues/786/events","html_url":"https://github.com/new-xkit/XKit/issues/786","id":118284302,"number":786,"title":"Unit testing","user":{"login":"0xazure","id":1041456,"avatar_url":"https://avatars.githubusercontent.com/u/1041456?v=3","gravatar_id":"","url":"https://api.github.com/users/0xazure","html_url":"https://github.com/0xazure","followers_url":"https://api.github.com/users/0xazure/followers","following_url":"https://api.github.com/users/0xazure/following{/other_user}","gists_url":"https://api.github.com/users/0xazure/gists{/gist_id}","starred_url":"https://api.github.com/users/0xazure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0xazure/subscriptions","organizations_url":"https://api.github.com/users/0xazure/orgs","repos_url":"https://api.github.com/users/0xazure/repos","events_url":"https://api.github.com/users/0xazure/events{/privacy}","received_events_url":"https://api.github.com/users/0xazure/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/new-xkit/XKit/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/new-xkit/XKit/labels/tooling","name":"tooling","color":"000000"},{"url":"https://api.github.com/repos/new-xkit/XKit/labels/waffle:feature","name":"waffle:feature","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/new-xkit/XKit/milestones/1","html_url":"https://github.com/new-xkit/XKit/milestones/v8.0.0","labels_url":"https://api.github.com/repos/new-xkit/XKit/milestones/1/labels","id":1339399,"number":1,"title":"v8.0.0","description":"Base work off of branch v8.0.0.","creator":{"login":"0xazure","id":1041456,"avatar_url":"https://avatars.githubusercontent.com/u/1041456?v=3","gravatar_id":"","url":"https://api.github.com/users/0xazure","html_url":"https://github.com/0xazure","followers_url":"https://api.github.com/users/0xazure/followers","following_url":"https://api.github.com/users/0xazure/following{/other_user}","gists_url":"https://api.github.com/users/0xazure/gists{/gist_id}","starred_url":"https://api.github.com/users/0xazure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0xazure/subscriptions","organizations_url":"https://api.github.com/users/0xazure/orgs","repos_url":"https://api.github.com/users/0xazure/repos","events_url":"https://api.github.com/users/0xazure/events{/privacy}","received_events_url":"https://api.github.com/users/0xazure/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":0,"state":"open","created_at":"2015-10-06T01:31:47Z","updated_at":"2015-11-22T19:48:50Z","due_on":"2015-12-01T05:00:00Z","closed_at":null},"comments":1,"created_at":"2015-11-22T19:48:50Z","updated_at":"2015-11-22T21:25:49Z","closed_at":null,"body":"Wanted to start collecting opinions from @new-xkit/admin regarding testing and test frameworks for Javscript.  We've got access to [npm](https://www.npmjs.com/) dependencies now, so are there any preferred test frameworks/harnesses/tools that people have experience with?\r\n\r\nI bring this up because while we may not be able to test _everything_ (particularly the `XKit.interface` methods since that executes against Tumblr's page(s)), there _are_ a number of areas where we could benefit from having code coverage.  It would also give us a safety net when we work on v8.0.0/GMP improvements to have tests that tell us if/when we break or change existing functionality, so we know we either have to A) update extensions where the method is used or B) realize we've made a mistake in implementation and fix it."},"comment":{"url":"https://api.github.com/repos/new-xkit/XKit/issues/comments/158800888","html_url":"https://github.com/new-xkit/XKit/issues/786#issuecomment-158800888","issue_url":"https://api.github.com/repos/new-xkit/XKit/issues/786","id":158800888,"user":{"login":"bvtsang","id":370525,"avatar_url":"https://avatars.githubusercontent.com/u/370525?v=3","gravatar_id":"","url":"https://api.github.com/users/bvtsang","html_url":"https://github.com/bvtsang","followers_url":"https://api.github.com/users/bvtsang/followers","following_url":"https://api.github.com/users/bvtsang/following{/other_user}","gists_url":"https://api.github.com/users/bvtsang/gists{/gist_id}","starred_url":"https://api.github.com/users/bvtsang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvtsang/subscriptions","organizations_url":"https://api.github.com/users/bvtsang/orgs","repos_url":"https://api.github.com/users/bvtsang/repos","events_url":"https://api.github.com/users/bvtsang/events{/privacy}","received_events_url":"https://api.github.com/users/bvtsang/received_events","type":"User","site_admin":false},"created_at":"2015-11-22T21:25:49Z","updated_at":"2015-11-22T21:25:49Z","body":"Here are a few Javascript unit testing frameworks that we may be able to use:\r\n\r\n- [QUnit](https://qunitjs.com/)\r\n- [Unit JS](http://unitjs.com/)\r\n- [Sinon.JS](http://sinonjs.org/)\r\n- [Intern](https://theintern.github.io/)\r\n- [Mocha](https://mochajs.org/)\r\n\r\nOf all of these, I've only tried QUnit for a small project of mine. Not sure how any of these scale to larger projects like XKit.\r\n\r\nOther things to consider:\r\n\r\n- BDD? Test runners that use Selenium?\r\n- Commands to run tests locally\r\n- Integration with TravisCI"}}