Lecture 5: Implementation · Client
Video 🔒
- We’re continuing the implementation of the feature from Lecture 4.
- Now we’re working on the tests and the client.
- See the Issue, its corresponding Pull Request, and the project board (look at Iteration 4).
Tests
- We’re covering three kinds of tests:
- JUnit tests.
- For the models. The M in MVC. The things you include in a class diagram.
- Postman tests.
- For the whole server. Postman pretends to be a browser and acts as the client. This exercises the router, the controllers, the repositories, the database, and so forth.
- Manual tests on the browser.
- This tests the client.
- JUnit tests.
- Automated tests are like an autograder that you wish you had for Assignment 4.
- There are many more kinds of tests that we aren’t covering, for example, there are ways to test the client without having to open the browser and click around.
- Good tests:
- Are independent of order.
- Serve as runnable documentation of how the application works.
- Cover all the features (which you can measure with code coverage tools).
- Don’t go overboard with complicated setup.
Client
- See the wireframe.
- We cover the most important aspects of React:
- Defining components as functions or classes.
- Using components with JSX.
- Moving back and forth between JavaScript and what looks like HTML in JSX (but actually are function calls).
- Props.
- State.
- Event handlers.
Announcements
- There’s a poll open 🔒 for the topics of Lecture 6.
- We’re scheduling the final presentations for the group projects. You must answer with your availability on the issue created by Roboose on your group’s repository at
https://github.com/jhu-oose/2019-group-<identifier>
.