Testing

This document provides information about testing the GS1 GPC Import project.

Running Tests

We use pytest for testing. To run the tests:

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

To run tests with coverage:

pytest --cov=gs1_gpc

To run a specific test:

pytest gs1_gpc/tests/test_db.py

Writing Tests

Tests are located in the gs1_gpc/tests directory. Each module should have a corresponding test file.

Example test:

import unittest
from gs1_gpc.db import DatabaseConnection

class TestDatabaseConnection(unittest.TestCase):
    def test_sqlite_connection(self):
        db_connection = DatabaseConnection(':memory:')
        conn, cursor = db_connection.connect()
        self.assertIsNotNone(conn)
        self.assertIsNotNone(cursor)
        db_connection.close()

Test Data

Test data is located in the gs1_gpc/tests/data directory. This includes sample XML files for testing the parser.

Continuous Integration

We use GitHub Actions for continuous integration. The CI pipeline runs tests on multiple Python versions to ensure compatibility.

The CI configuration is located in the .github/workflows directory.