# Create a test assembly

> Create an assembly that Unity recognizes as containing tests.

Unity Test Framework tests must be in a test assembly, which is any assembly that references NUnit. For more information on assemblies, refer to [Organizing scripts into assemblies](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/assembly-definition-files.md).

To create a new test assembly in the **Test Runner** window:

1. Select the `Assets` folder in your Project window.
2. Open the **Test Runner** window (menu: **Window** > **General** > **Test Runner**).
3. In the **Test Runner** window, select **Create a new Test Assembly Folder in the active path**.


**The Test Runner window with the EditMode tab selected.:**
![](/api/media?file=/engine/6000.6/media/images/create-test-assembly-folder.png)

Alternatively, you can create a test assembly directly from the **Assets** menu:

1. Select the `Assets` folder in your Project window.
2. Create a new Test Assembly Folder (menu: **Assets** > **Create** > **Testing** > **Test Assembly Folder**).

This creates an `Tests` subfolder inside the `Assets` folder with a corresponding `.asmdef` file including the required references. You can change the name of the new assembly definition and press Enter to accept it.


**The Project window displays a new subfolder of the Assets folder called Tests, which contains an assembly file called Tests.asmdef.:**
![](/api/media?file=/engine/6000.6/media/images/test-assembly-folder.png)

Click on the assembly definition file to inspect it in the Editor window. You'll see that it has references to `nunit.framework.dll`,`UnityEngine.TestRunner`, and `UnityEditor.TestRunner` assemblies. This combination of references is what identifies an assembly as a test assembly. The `UnityEditor.TestRunner` reference is only available for Edit mode tests.

The checkbox selections under **Platforms** determine which platforms the test assembly can run on. By default, assemblies created through the **Test Runner** target the **Editor** only. Selecting **Any Platform** or a specific platform other than **Editor** makes it possible to run any Play mode tests in the assembly on standalone Players for the additional platforms.


**The Inspector window displays the configurable properties of a test assembly definition asset.:**
![](/api/media?file=/engine/6000.6/media/images/import-settings.png)

You can repeat the steps above as many times as you like to create additional test assemblies. The first test assembly folder you create is named `Tests` by default and subsequent ones are named `Tests 1`, `Tests 2`, and so on. Remember that you can always rename the assemblies but each assembly name must be unique.

> **Note:**
>
> Changing the file name of the assembly definition file doesn't affect the value of the **Name** property in the file. Use the **Inspector** window or edit the .asmdef file directly in a text editor to make sure the name property is properly changed.

## Additional resources

* [Edit mode and Play mode tests](/engine/6000.6/manual/scripting/test-framework-introduction/getting-started/edit-mode-vs-play-mode-tests.md)
* [Create a test](/engine/6000.6/manual/scripting/test-framework-introduction/getting-started/workflow-create-test.md)
