-
Notifications
You must be signed in to change notification settings - Fork 10
About
A Hyperskill project is a set of stages from a technical point of view, where each stage contains a description and tests to check the correctness of the code written by the student.
It is recommended to read the algorithm to write an awesome project on Hyperskill before writing the tests for the stages. Tests are the last stage of project creation and you should coordinate the descriptions of the stages with the Hyperskill team before doing so.
When writing a project, the student has no restrictions on the name of classes, on the name of methods, on interfaces to be implemented, on classes to be inherited. Theoretically, the student can write the whole project code inside the main method but considering the complexity of some projects, it is difficult to achieve. Often, students create a dozen classes to solve a project, and the main method has one line left.
Testing methods that rely on the existence of some methods and classes are not applicable here (for example, unit testing). We don't know what methods and what classes the student uses, we can't force the student to implement special classes with special methods or implement the provided interfaces so that we can test them with a large number of unit tests.
These classes and interfaces that students should implement prevent them from inventing their own solution for the project, and tell them the right solution. And to become a programmer you have to learn how to come up with solutions yourself.
So, lyrics aside, as you may have noticed, all Hyperskill projects are tested using the black-box method. Each test runs the main method, it is executed, and while it is executed or thereafter it is verified that everything has gone well. We will discuss the different methods of checking in the following sections.
- Home
- About
- Initial setup
- Writing tests
- Guidelines for writing tests
- Outcomes of testing
- Generating and checking
- Presentation error
- Checking JSON
- Testing solutions written in different languages
- Creating Hyperskill problems based on hs-test
- Testing Java Swing applications
- Testing Java Spring applications
- Testing Ktor applications