Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Tests for the extension #4692

Closed
6 of 7 tasks
DonJayamanne opened this issue Mar 8, 2019 · 4 comments
Closed
6 of 7 tasks

UI Tests for the extension #4692

DonJayamanne opened this issue Mar 8, 2019 · 4 comments
Assignees
Labels
debt Covers everything internal: CI, testing, refactoring of the codebase, etc.

Comments

@DonJayamanne
Copy link

DonJayamanne commented Mar 8, 2019

Create simple framework for running smoke tests for the extension with the following requirements/benefits:

  • Update WIKI
  • UI Testing/System Testing
    • Developers can focus on writing unit tests
    • Most of the integration/system Tests, etc can all be replaced with these UI Tests (slowly over time)
    • Hopefully this will result in fewer regressions
    • Bug bashes can focus on testing new features
  • Ubiquitous language (BDD)
    • Anyone can write new tests.
    • Even if we were to refactor the entire extension, the tests will not require any changes, unlike other tests.
    • Current implemented in Python, if we use nodejs, the tests are all still
      usable.
  • Test Results
    • The test results can contain screenshots for manual verification
    • Currently when ever a test fails, we capture a screenshot of VSCode
      • This is useful to identify why tests failed
    • Capture all VS Code (Extension/Debugger) logs as part of the test result
  • CI Integration
    • Can fail CI based on test results
    • Test results can be integrated with Azdo (though I see now value in integrating this with Azdo), i.e. using the CLI output is easier..
    • Test results can be uploaded into Azdo (as artifacts) - for manual verification or when identifying why tests fail (to view error logs, and screenshots)
  • Run against multiple versions of Python
  • Run against VS Code Stable and Insiders

Notes

  • These tests are slow when using Python (if its running on CI, this should not be a problem)
  • Some coding will be necessary (i.e. nothing comes for free).
  • Output in Terminal cannot be tested when using Python (we are limited to a few tests)
@DonJayamanne DonJayamanne self-assigned this Mar 8, 2019
@ghost ghost added the triage-needed Needs assignment to the proper sub-team label Mar 8, 2019
@DonJayamanne DonJayamanne added needs PR debt Covers everything internal: CI, testing, refactoring of the codebase, etc. labels Mar 11, 2019
@ghost ghost removed the triage-needed Needs assignment to the proper sub-team label Mar 11, 2019
@DonJayamanne
Copy link
Author

DonJayamanne commented Apr 1, 2019

UI Tests for debugging Python Tests using the Test Explorer

  • Ensure debugging works
  • Ensure the right function/suite is debugged
  • Ensure breakpoints work
  • Ensure stack trace is correct
  • Ensure we do not break/nor debug other functions/suites...
  • Same set of tests run for ALL test frameworks/runners (Unit Test, pytest & nose)

uitests

@DonJayamanne
Copy link
Author

DonJayamanne commented Apr 1, 2019

Sample Report

Screen Shot 2019-04-01 at 4 51 50 PM

Screen Shot 2019-04-01 at 4 52 25 PM

@DonJayamanne
Copy link
Author

Sample Test

Screen Shot 2019-04-01 at 4 52 55 PM

Screen Shot 2019-04-01 at 4 53 09 PM

@DonJayamanne
Copy link
Author

Azdo Integartion

Screen Shot 2019-04-01 at 4 56 21 PM

Screen Shot 2019-04-01 at 4 56 02 PM

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Covers everything internal: CI, testing, refactoring of the codebase, etc.
Projects
None yet
Development

No branches or pull requests

2 participants