I thought it might be useful to outline how I go about updating a repository for RSpec3 and refactoring along the way:
Find a file to update * in your shell, navigate to tests/browser/features/step_definitions * grep -r "should" * * identify a steps.rb file with old-style RSpec assertions * open that file in your editor Check the steps in the file * in your shell, navigate to /tests/browser * for each line in the file identified above, do "grep -r "the string in the step"" ** identify all of the Features that use the step ** make sure that all the Given steps are marked Given ** make sure that all the When steps are marked When ** make sure that the Then steps all contain RSpec assertions *** make sure that the Then steps are not being used as When Make updates to steps file * put all of the Given steps in alphabetical order, the When steps, and the Then steps * if the step is not used in any Feature, delete the step from the file ** if the deleted step uses a page element not used by other steps, delete that element from the page object * if the description of the step is different than what the step actually does, fix that * if a Then step is being used as a When step, fix that * the text of each Then step should contain the word "should". If it does not, fix that, e.g. change "Then I see X" to "Then I should see X" ** alphabetize the steps with the new text if necessary ** update each Feature/Scenario that uses the step to the new text * finally, update the assertions in each Then step to use RSpec3 "expect" syntax On Tue, Dec 2, 2014 at 4:21 PM, Chris McMahon <[email protected]> wrote: > > Hi Jagori, > > Some of these repos may pose problems. For example, ArticleFeedbackv5 is > dead code and the feature itself is no longer enabled in any test > environments. Here is a list I would suggest for you: > > GettingStarted > Math > mediawiki/core > PageTriage > WikiLove > > Start with those five and then let's review what should go next. > > Thanks! > -Chris > > > > > > On Tue, Dec 2, 2014 at 4:01 PM, jagori samajdar <[email protected]> > wrote: > >> Hi Chris , >> Thanks for letting me know. >> I would start off with ArticleFeedbackv5 ,would go serially from >> top,leaving the ones you have already worked upon. >> Sure would let you know if I get stuck somewhere. >> Thanks, >> Jagori >> >> >> >> On Tue, Dec 2, 2014 at 2:23 AM, Chris McMahon <[email protected]> >> wrote: >> >>> >>> >>> On Thu, Nov 27, 2014 at 3:54 PM, jagori samajdar <[email protected]> >>> wrote: >>> >>> Hi Jagori, >>> >>> >>>> Also,would you suggest any specific repository where I should start >>>> making the rspec-expectation 'expect' syntax changes or should I just >>>> choose and start from the list : >>>> https://github.com/wikimedia/mediawiki-selenium#links? >>>> >>> >>> I've already done Echo, Flow, and VisualEditor, and I am working on >>> MobileFrontend right now. It would be nice if you could pick up some of the >>> others. >>> >>> Let me know if I can help... >>> >>> -Chris >>> >>> _______________________________________________ >>> QA mailing list >>> [email protected] >>> https://lists.wikimedia.org/mailman/listinfo/qa >>> >>> >> >> _______________________________________________ >> QA mailing list >> [email protected] >> https://lists.wikimedia.org/mailman/listinfo/qa >> >> >
_______________________________________________ QA mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/qa
