--- title: Writing Tests For Plugins --- > **NOTE** Please see [Testing Plugins](/basics/testing_plugins/testing_plugins.md) for a general introduction. In this tutorial you will learn how to write and run automated tests for a custom language plugin. As an example we will take the plugin implemented in the [Custom Language Support](/tutorials/custom_language_support_tutorial.md) and cover its code with functional tests. * [1. Tests Prerequisites](writing_tests_for_plugins/tests_prerequisites.md) * [2. Parsing Test](writing_tests_for_plugins/parsing_test.md) * [3. Completion Test](writing_tests_for_plugins/completion_test.md) * [4. Annotator Test](writing_tests_for_plugins/annotator_test.md) * [5. Formatter Test](writing_tests_for_plugins/formatter_test.md) * [6. Rename Test](writing_tests_for_plugins/rename_test.md) * [7. Folding Test](writing_tests_for_plugins/folding_test.md) * [8. Find Usages Test](writing_tests_for_plugins/find_usages_test.md) * [9. Commenter Test](writing_tests_for_plugins/commenter_test.md) * [10. Reference Test](writing_tests_for_plugins/reference_test.md) The final code can be found in the [SamplePlugin repo on GitHub](https://github.com/JetBrains/intellij-sdk-docs/tree/master/code_samples/simple_language_plugin).