1. Running Tests
There are two ways to run tests.
Method 1: Using IntelliJ JUnit test runner
- 
To run all tests, right-click on the src/test/javafolder and chooseRun 'All Tests'
- 
To run a subset of tests, you can right-click on a test package, test class, or a test and choose Run 'ABC'
Method 2: Using Gradle
- 
Open a console and run the command gradlew clean test(Mac/Linux:./gradlew clean test)
| See UsingGradle.adoc for more info on how to run tests using Gradle. | 
2. Types of tests
We have three types of tests:
- 
Unit tests targeting the lowest level methods/classes. 
 e.g.seedu.weme.commons.StringUtilTest
- 
Integration tests that are checking the integration of multiple code units (those code units are assumed to be working). 
 e.g.seedu.weme.storage.StorageManagerTest
- 
Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together. 
 e.g.seedu.weme.logic.LogicManagerTest
3. Troubleshooting Testing
Problem: Keyboard and mouse movements are not simulated on macOS Mojave, resulting in GUI Tests failure.
- 
Reason: From macOS Mojave onwards, applications without Accessibilitypermission cannot simulate certain keyboard and mouse movements.
- 
Solution: Open System Preferences, clickSecurity and Privacy→Privacy→Accessibility, and check the box besideIntellij IDEA.
 
Accessibility permission is granted to IntelliJ IDEA