Das Projekt verwendet Mocha als Test-Framework mit Chai für Assertions.
Installieren Sie zuerst die Dependencies:
npm install
# oder
yarn installnpm test
# oder
yarn testDies führt aus:
- ESLint zur Code-Qualitätsprüfung (
lint-fix) - Mocha Tests mit nyan Reporter
npm run test-local
# oder
yarn test-localnpm run test-coverage
# oder
yarn test-coverageZeigt die Code-Coverage an.
npm run lint
# oder
yarn lintÜberprüft Code-Style mit ESLint.
npm run lint-fix
# oder
yarn lint-fixDie Tests befinden sich im test/ Verzeichnis:
test/
├── setup.js # Test-Setup (JSDOM, Chrome Mock, etc.)
├── options_spec.js # Tests für options.js
├── translator/
│ └── robot-translator_spec.js # Tests für Robot Translator
├── locator/
│ ├── xpath-locator_spec.js # Tests für XPath Locator
│ ├── classifier_spec.js # Tests für Classifier
│ ├── scanner_spec.js # Tests für Scanner
│ └── tree-builder_spec.js # Tests für Tree Builder
└── integration/
└── extension_install_spec.js # Integration Tests
- Mocha: Test Runner
- Chai: Assertion Library
- Sinon: Mocking/Stubbing
- JSDOM: DOM Simulation
- NYC: Code Coverage
# Alle Tests
npm test
# Nur Locator Tests
npm run test-local -- test/locator/**/*.js
# Mit Coverage
npm run test-coverage# Tests mit Node Inspector
node --inspect-brk ./node_modules/.bin/mocha -r test/setup.js test/**/*.js
# Dann öffnen Sie: chrome://inspect- Tests verwenden Chai für Assertions:
expect(...).to.equal(...) - Mocks werden mit Sinon erstellt
- Setup.js mockt Chrome API für Tests
- Code-Coverage wird in
.nyc_output/gespeichert