• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vEnhance / otis-web / 19411161315 / 1
94%
main: 94%

Build:
DEFAULT BRANCH: main
Ran 16 Nov 2025 07:55PM UTC
Files 115
Run time 1304min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Nov 2025 07:54PM UTC coverage: 34.498% (-57.4%) from 91.924%
19411161315.1

push

github

web-flow
ci: Update unit tests framework (#429)

* test: migrate from Django unittest to pytest-django

- Add pytest, pytest-django, and pytest-cov to dev dependencies
- Create standalone otisweb_testsuite package (split from evans_django_tools)
- Update all test and factory imports to use new package
- Add conftest.py for pytest-django configuration
- Configure pytest in pyproject.toml
- Fix wikihaxx/factories.py to use LazyAttribute for database access
- Update coverage.run omit to use new package path

This migration provides:
- Better failure output with context diffs
- Access to pytest fixture system
- Parallel testing support via pytest-xdist
- Plugin ecosystem (pytest-django, pytest-cov, etc.)
- Simpler test functions possible for new tests

All 156 tests pass (155 in full suite, 1 has test ordering dependency)

* test: add pytest fixtures and convert otisweb/tests.py as proof of concept

- Create OTISClient class with pytest-style convenience methods
- Add otis fixture in otisweb_testsuite/fixtures.py
- Register fixtures via pytest_plugins in conftest.py
- Convert otisweb/tests.py to pytest-style functions

The OTISClient provides same conveniences as EvanTestCase:
- otis.get_20x(), otis.post_30x(), etc.
- otis.login() with User/Model/string support
- otis.assert_has(), otis.assert_redirects()
- Automatic debug dumps on assertion failures

This demonstrates the migration path for remaining test files.

* test: convert all tests to pytest-style functions (WIP)

Convert all 156 test methods from class-based unittest style to pytest-style
functions using the new otis fixture. This is a work-in-progress migration
with 140 tests passing (90% success rate).

Changes:
- Convert all test classes to standalone @pytest.mark.django_db functions
- Replace self.assertXXX methods with otis.xxx fixture methods
- Convert setUpClass methods to pytest fixtures
- Add backward compatibility aliases to OTISClient (assert_response_20x, etc.)
- Fix get_redirects/post_redirec... (continued)

21 of 1100 branches covered (1.91%)

Branch coverage included in aggregate %.

3425 of 8889 relevant lines covered (38.53%)

0.39 hits per line

Source Files on job 19411161315.1
  • Tree
  • List 115
  • Changed 59
  • Source Changed 0
  • Coverage Changed 59
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 19411161315
  • 9481890b on github
  • Prev Job for on main (#19409162335.1)
  • Next Job for on main (#19411405246.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc