26 lines
716 B
Python
26 lines
716 B
Python
|
|
import unittest
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
|
||
|
|
class TestTestFileNaming(unittest.TestCase):
|
||
|
|
def test_all_python_files_use_test_prefix(self):
|
||
|
|
tests_root = Path(__file__).resolve().parents[1]
|
||
|
|
invalid_files = []
|
||
|
|
|
||
|
|
for path in tests_root.rglob("*.py"):
|
||
|
|
if path.name == "__init__.py":
|
||
|
|
continue
|
||
|
|
|
||
|
|
if not path.name.startswith("test_"):
|
||
|
|
invalid_files.append(path.relative_to(tests_root).as_posix())
|
||
|
|
|
||
|
|
self.assertFalse(
|
||
|
|
invalid_files,
|
||
|
|
"The following Python files do not start with 'test_':\n"
|
||
|
|
+ "\n".join(f"- {path}" for path in invalid_files),
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
unittest.main()
|