Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Contributing

Aaron Weitekamp edited this page May 16, 2013 · 1 revision

Contributing to test automation

Best practices

  • Avoid hard-coding data. Move test data to cfme_pages.yaml. Update cfme_pages.yaml.template if items are added.
  • Common, reusable tests that other tests depend on are good candidates for becoming fixtures.
  • Tests should be stand-alone. Dependencies (for example, management system setup) should be called as fixtures
  • There is an extensive library of UI elements in cfme_pages. Look for these before coding new page elements. Ask if you're not sure what is available.

Workflow

You'll need to fork this repo and set up two remotes, typically called upstream--this one that you pull updates from--and origin--your fork that you push updates to. Avoid merging. Use rebase.

  1. Pull in latest from master

    git checkout master
    git fetch upstream
    git reset --hard upstream/master
    
  2. Create branch git checkout -b <my_dev_branch>

  3. Update code. Commit changes.

  4. Pull in latest from upstream/master

    git checkout master
    git fetch upstream
    git rebase master
    git checkout <my_dev_branch>
    
  5. Push branch to fork push origin <my_dev_branch>

  6. Make pull request through Github