Open pdawyndt opened 10 months ago
Language-specific modules must implement introspection to detect if the following programming interfaces have been implemented:
Clean format for specifying programming interfaces needed in test suites. TESTed could provide helper subcommand to derive test suite specification of programming interfaces from sample solution (e.g. sample Python implementation usign type hints).
Reasoning: Dynamic testing hooks into the required programming interfaces implemented by the submission. To enable this, the task description must specify what programming interfaces must be implemented by submissions. Test suites could specify what programming interfaces must be implemented (for the whole submission or for a single test unit), so that TESTed could verify (static testing) if the necessary interfaces were implemented prior to starting dynamic testing.
Advantages: No CPU cycles are waisted on dynamic testing for a unit whose programming interfaces have not been implemented by the submission. More specific feedback can be reported to students.