# 运行、调试和测试 Scala 项目

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 必需插件：   Scala  ： [安装方法](get-started-with-scala.html#scala_plugin)

IntelliJ IDEA 可让您运行、调试和测试 Scala 应用程序，就像通常在 IntelliJ IDEA 中运行其他应用程序一样。 IntelliJ IDEA 还允许您运行 Scala 代码并配置代码覆盖率设置。

> **Note:**
> 当您执行运行或调试过程时，使用   运行/调试配置  对话框来调整配置设置。 要访问该对话框，请从主菜单中选择  `运行 | 编辑配置` 。

## 运行 Scala 应用程序

您可以通过 IntelliJ IDEA 运行您的 Scala 代码，使用 sbt shell，或使用 [Scala worksheet](work-with-scala-worksheet.html) 进行快速代码评估。

有关在 IntelliJ IDEA 中运行程序的一般概述，请参阅 [运行应用程序](running-applications.html)。

Procedure: 通过 IntelliJ IDEA 运行 Scala 应用程序传递程序 Scala 应用程序？ No, better: 通过 IntelliJ IDEA 运行 Scala 应用程序

1. 如同在 IntelliJ IDEA 中创建或导入其他项目一样， [创建或导入](creating-and-managing-projects.html)一个 Scala 项目。

2. 在编辑器中打开您的应用程序。

3. 按 `Shift+F10` (Windows), `⌃ R` (macOS), `⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ R` (macOS System Shortcuts), `Shift+F10` (XWin), `Shift+F10` (GNOME), `Shift+F10` (KDE), `Shift+F10` (Emacs), `Shift+F10` (Sublime Text), `Shift+F10` (Sublime Text (macOS)), `Ctrl+F5` (Visual Studio), `⌃ F5` (Visual Studio (macOS)), `F6` (NetBeans), `Alt+Shift+X` (Eclipse), `⌘ ⇧ F11` (Eclipse (macOS)) 执行应用程序。 或者，您也可以在编辑器边栏中点击 ![运行](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg)图标并选择   运行 'name'  。

![运行主程序](https://resources.jetbrains.com/help/img/idea/2026.3/scala_run_app_editor.png)

Procedure: 使用 sbt shell 运行 Scala 应用程序

您可以使用 sbt shell 运行您的应用程序，这是任何 [sbt project](sbt-support.html) 的一部分。

1. 打开您的 sbt 项目。

2. 如果您想要将构建和导入委托给 sbt，在   sbt  工具窗口中，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.settings.svg)图标，然后选择   sbt 设置  。

在   sbt   设置页面中，选择   sbt shell   下的   构建   选项（需要 sbt 0.13.5+）并点击   OK   保存更改。

![sbt 设置](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_settings_for_running_sbt_shell.png)

此选项也可在您创建或导入 sbt 项目时使用。

如果您不想将构建与导入委托给 sbt，您仍然可以在 sbt shell 中工作（点击状态栏上的   sbt shell  ），并且可以直接从中 [运行 sbt 命令](https://www.scala-sbt.org/1.x/docs/Running.html)，包括运行您的应用程序。

3. 在   sbt 项目  工具窗口中，点击   sbt 任务  节点。

4. 在打开的列表中，选择将运行 main 方法的   run  任务。

![sbt 工具窗口：运行任务](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_tool_window_run_task.png) 执行结果显示在   sbt shell   工具窗口中。

![sbt shell 输出](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_shell_run_app.png)

## 重新加载更改与热交换

有时，您需要在不中断进程的情况下插入微小的代码更改。 由于 Java 虚拟机具有 HotSwap 功能，IntelliJ IDEA 会为您处理这些情况。 在代码中进行更改后，会出现一个小弹出窗口。 其中提供代码热交换，并显示消息：  "已在调试会话期间更改代码。 无需重新启动即可应用这些更改。 所有已修改的文件都将重新编译并重新加载。”

![Scala 热交换](https://resources.jetbrains.com/help/img/idea/2026.3/scala_hotswap.png)

## 运行 Scala 代码的替代方法

若要快速评估代码，您可以使用 Scala 工作表，该工作表使您能够交互运行代码。 按  `Ctrl+Alt+Shift+X`  创建 Scala 工作表的简化版本，并按  `Ctrl+Alt+W`  运行它。 或者，可以打开   Scala REPL  ，并用它导入项目中的任意类或模块并运行其方法。 如需更多信息，请参阅 [Scala 工作表和 Scala REPL](work-with-scala-worksheet.html)。

如果项目是 ScalaCLI 项目，也可以从终端启动 ScalaCLI REPL，导入项目，并通过这种方式访问其所有类、模块和方法。 可以在 [将 ScalaCLI 与 IntelliJ IDEA 搭配使用](scalacli.html) 了解 IntelliJ IDEA 中 ScalaCLI 项目的详情。 类似地，如果使用   sbt  ，可以从终端调用  `sbt 控制台` 。 在下面的屏幕截图中，我们为一个包含名为  `Protagonist`  的类的项目打开 sbt 控制台，然后创建此类的一个实例。 如需更多信息，请参阅 [sbt](sbt-support.html)

![sbt 控制台](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_console.png)

如果您需要，您还可以将 Scala 应用程序部署到服务器。 欲了解更多信息，请参阅 [使用应用服务器](application-servers-support.html)。

## 调试 Scala 代码

IntelliJ IDEA 允许您使用 IntelliJ IDEA 调试器或   sbt shell   调试您的代码。

要概览 IntelliJ IDEA 的调试，请参阅 [调试](debugging-code.html)。

Procedure: 使用 IntelliJ IDEA 调试 Scala 代码。

1. 在编辑器中打开您的 Scala 应用程序。

2. 在边栏中，设置您想要调试的代码行的断点。 有关断点的更多信息，请参阅 [断点](using-breakpoints.html)。

3. 如果需要，您可以访问   运行/调试配置  对话框（  `运行 | 编辑配置` ）并调整设置，但通常默认设置足以成功运行您的调试会话。

4. 按下 `Shift+F9` (Windows), `⌃ D` (macOS), `⇧ F9` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ D` (macOS System Shortcuts), `Shift+F9` (XWin), `Shift+F9` (GNOME), `Shift+F9` (KDE), `Shift+F9` (Emacs), `Shift+F9` (Sublime Text), `⌃ D` (Sublime Text (macOS)), `Alt+F5` (Visual Studio), `⌥ F5` (Visual Studio (macOS)), `Ctrl+F5` (NetBeans), `Alt+Shift+D` (Eclipse), `⌘ F11` (Eclipse (macOS))。

或者，在项目小部件上，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.debug.svg) 图标以开始调试。

5. 在   调试   工具窗口中评估结果。

有关在   调试  工具窗口中使用选项的更多信息，请参阅 [调试代码](debugging-code.html)部分。

您可以调整默认的调试器设置，如果需要，可以关闭默认为 Scala 代码启用的 [智能步入](stepping-through-the-program.html#smart-step-into)功能。

Procedure: 访问调试器设置

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `构建、执行、部署 | 调试器` 。

2. 您可以从右侧的选项编辑一般调试器设置，或向下滚动到 Scala 区域并调整 Scala 特定的调试器设置。

![调试器设置：Scala](https://resources.jetbrains.com/help/img/idea/2026.3/scala_debugger_settings.png)

如果您需要为 Scala 代码禁用   智能步入  ，请选择  `调试器 | 单步调试` 并禁用 Scala 部分中的   始终使用智能步入  选项。

![单步设置](https://resources.jetbrains.com/help/img/idea/2026.3/scala_smart_step_into.png)

Procedure: 使用 sbt shell 调试 Scala 代码

1. 打开您的 sbt 项目。

2. 在编辑器中打开您的应用程序。

3. 在编辑器侧边栏中，设置 您 要调试的代码行的断点。

![设置断点](https://resources.jetbrains.com/help/img/idea/2026.3/scala_code_breakpoints.png)

您不能调试实际  `.sbt` 文件中的代码，但您可以调试可以从  `build.sbt` 调用的 Scala 文件中的代码。

> **Note:**
> 如果启用 [forking](https://www.scala-sbt.org/1.x/docs/Forking.html)，则通过 sbt shell 调试  `run` 或  `test` 任务将不起作用。

4. 在   设置  对话框（ `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中，选择  `构建、执行、部署 | 构建工具 | sbt` 。

5. 在   sbt  页面，选择   启用调试  并点击   OK  以保存更改。

6. 在   sbt shell  工具窗口中，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.debug.svg)图标以连接到调试器服务器并开始调试会话。

IntelliJ IDEA 还会为调试会话创建运行/调试配置。

![运行/调试配置](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_run_debug_config_for_sbt_shell.png)

您可以编辑 run/debug 配置设置，但默认设置应该足以成功调试您的代码。

7. 在   sbt   shell 中输入  `run` 命令以运行该程序。

![sbt shell：运行](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_shell_program.png)

在   调试   工具窗口中评估您的结果。

![调试工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/sbt_debug_tool_window.png)

> **Tip:**
> 如果您想在调试时倒回，您可以通过   丢帧  操作来实现。 如果您不小心走得太远，这将特别有帮助。 这不会还原应用程序的全局状态，但至少可以让您返回到上一个堆栈帧。

> **Tip:**
> 可以通过在按住 `Alt` (Windows), `Alt` (macOS), `Alt` (IntelliJ IDEA Classic (macOS)), `Alt` (macOS System Shortcuts), `Alt` (XWin), `Alt` (GNOME), `Alt` (KDE), `Alt` (Emacs), `Alt` (Sublime Text), `Alt` (Sublime Text (macOS)), `Alt` (Visual Studio), `Alt` (Visual Studio (macOS)), `Alt` (NetBeans), `Alt` (Eclipse), `Alt` (Eclipse (macOS)) 的同时点击行号栏来快速禁用任何断点。 要更改断点详细信息，例如条件，请按 `Ctrl+Shift+F8` (Windows), `⌘ ⇧ F8` (macOS), `⌘ ⇧ F8` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ F8` (macOS System Shortcuts), `Ctrl+Shift+F8` (XWin), `Ctrl+Shift+F8` (GNOME), `Ctrl+Shift+8` (KDE), `Ctrl+Shift+F8` (Emacs), `Ctrl+Shift+F8` (Sublime Text), `⌘ ⇧ F8` (Sublime Text (macOS)), `Ctrl+Alt+B` (Visual Studio), `⌘ ⌥ B` (Visual Studio (macOS)), `Ctrl+Shift+F8` (NetBeans), `Ctrl+Shift+F8` (Eclipse), `⌘ ⇧ F8` (Eclipse (macOS))。

## 运行和调试的快捷键

运行/调试的常规操作有：

|  操作  |  快捷键  |
| --- | --- |
|  运行  |  `Shift+F10` (Windows), `⌃ R` (macOS), `⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ R` (macOS System Shortcuts), `Shift+F10` (XWin), `Shift+F10` (GNOME), `Shift+F10` (KDE), `Shift+F10` (Emacs), `Shift+F10` (Sublime Text), `Shift+F10` (Sublime Text (macOS)), `Ctrl+F5` (Visual Studio), `⌃ F5` (Visual Studio (macOS)), `F6` (NetBeans), `Alt+Shift+X` (Eclipse), `⌘ ⇧ F11` (Eclipse (macOS))  |
|  调试  |  `Shift+F9` (Windows), `⌃ D` (macOS), `⇧ F9` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ D` (macOS System Shortcuts), `Shift+F9` (XWin), `Shift+F9` (GNOME), `Shift+F9` (KDE), `Shift+F9` (Emacs), `Shift+F9` (Sublime Text), `⌃ D` (Sublime Text (macOS)), `Alt+F5` (Visual Studio), `⌥ F5` (Visual Studio (macOS)), `Ctrl+F5` (NetBeans), `Alt+Shift+D` (Eclipse), `⌘ F11` (Eclipse (macOS))  |

在调试模式下，您可以使用 [评估任何表达式](examining-suspended-program.html#evaluating-expressions)由工具   计算表达式   `Alt+F8` (Windows), `⌥ F8` (macOS), `⌥ F8` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ L` (macOS System Shortcuts), `Alt+F8` (XWin), `Alt+Shift+8` (GNOME), `Alt+Shift+8` (KDE), `Alt+F8` (Emacs), `Alt+F8` (Sublime Text), `⌥ F8` (Sublime Text (macOS)), `Shift+F9` (Visual Studio), `⇧ F9` (Visual Studio (macOS)), `Ctrl+F9` (NetBeans), `Ctrl+U` (Eclipse), `⌘ U` (Eclipse (macOS))。 该工具提供与编辑器相同的代码补全，因此可以轻松输入任意表达式。

有时，您可能希望进入特定的方法，但不希望进入将首先被调用的方法。 在这种情况下，按   智能步入   和 `Shift+F7` (Windows), `⇧ F7` (macOS), `⇧ F7` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ;` (macOS System Shortcuts), `Shift+F7` (XWin), `Shift+F7` (GNOME), `Shift+F7` (KDE), `Shift+F7` (Emacs), `Shift+F7` (Sublime Text), `⇧ F7` (Sublime Text (macOS)), `Shift+F7` (Visual Studio), `⇧ F7` (Visual Studio (macOS)), `Shift+F7` (NetBeans), `Ctrl+F5` (Eclipse), `⌥ F5` (Eclipse (macOS)) 选择特定的方法。

|  操作  |  快捷键  |
| --- | --- |
|  切换断点  |  `Ctrl+F8` (Windows), `⌘ F8` (macOS), `⌘ F8` (IntelliJ IDEA Classic (macOS)), `⌃ Quote` (macOS System Shortcuts), `Ctrl+F8` (XWin), `Ctrl+F8` (GNOME), `Ctrl+8` (KDE), `Ctrl+F8` (Emacs), `Ctrl+F8` (Sublime Text), `⌘ F8` (Sublime Text (macOS)), `F9` (Visual Studio), `F9` (Visual Studio (macOS)), `Ctrl+F8` (NetBeans), `Ctrl+Shift+B` (Eclipse), `⌘ ⇧ B` (Eclipse (macOS))  |
|  步入  |  `F7` (Windows), `F7` (macOS), `F7` (IntelliJ IDEA Classic (macOS)), `⌘ ;` (macOS System Shortcuts), `F7` (XWin), `F7` (GNOME), `F7` (KDE), `F7` (Emacs), `F7` (Sublime Text), `F7` (Sublime Text (macOS)), `F11` (Visual Studio), `⌘ F11` (Visual Studio (macOS)), `F7` (NetBeans), `F5` (Eclipse), `F5` (Eclipse (macOS))  |
|  智能步入  |  `Shift+F7` (Windows), `⇧ F7` (macOS), `⇧ F7` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ;` (macOS System Shortcuts), `Shift+F7` (XWin), `Shift+F7` (GNOME), `Shift+F7` (KDE), `Shift+F7` (Emacs), `Shift+F7` (Sublime Text), `⇧ F7` (Sublime Text (macOS)), `Shift+F7` (Visual Studio), `⇧ F7` (Visual Studio (macOS)), `Shift+F7` (NetBeans), `Ctrl+F5` (Eclipse), `⌥ F5` (Eclipse (macOS))  |
|  步过  |  `F8` (Windows), `F8` (macOS), `F8` (IntelliJ IDEA Classic (macOS)), `⌘ Quote` (macOS System Shortcuts), `F8` (XWin), `F8` (GNOME), `F8` (KDE), `F8` (Emacs), `F8` (Sublime Text), `F8` (Sublime Text (macOS)), `F10` (Visual Studio), `F10` (Visual Studio (macOS)), `F8` (NetBeans), `F6` (Eclipse), `F6` (Eclipse (macOS))  |
|  步出  |  `Shift+F8` (Windows), `⇧ F8` (macOS), `⇧ F8` (IntelliJ IDEA Classic (macOS)), `⌘ \` (macOS System Shortcuts), `Shift+F8` (XWin), `Shift+F8` (GNOME), `Shift+F8` (KDE), `Shift+F8` (Emacs), `Shift+F8` (Sublime Text), `⇧ F8` (Sublime Text (macOS)), `Shift+F11` (Visual Studio), `⇧ F11` (Visual Studio (macOS)), `Ctrl+F7` (NetBeans), `F7` (Eclipse), `F7` (Eclipse (macOS))  |
|  恢复程序  |  `F9` (Windows), `⌘ ⌥ R` (macOS), `F9` (IntelliJ IDEA Classic (macOS)), `⌃ \` (macOS System Shortcuts), `F9` (XWin), `F9` (GNOME), `F9` (KDE), `F9` (Emacs), `F9` (Sublime Text), `F9` (Sublime Text (macOS)), `F5` (Visual Studio), `F5` (Visual Studio (macOS)), `F5` (NetBeans), `F8` (Eclipse), `F8` (Eclipse (macOS))  |
|  计算表达式  |  `Alt+F8` (Windows), `⌥ F8` (macOS), `⌥ F8` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ L` (macOS System Shortcuts), `Alt+F8` (XWin), `Alt+Shift+8` (GNOME), `Alt+Shift+8` (KDE), `Alt+F8` (Emacs), `Alt+F8` (Sublime Text), `⌥ F8` (Sublime Text (macOS)), `Shift+F9` (Visual Studio), `⇧ F9` (Visual Studio (macOS)), `Ctrl+F9` (NetBeans), `Ctrl+U` (Eclipse), `⌘ U` (Eclipse (macOS))  |

## 测试 Scala 应用程序

带 Scala 插件的 IntelliJ IDEA 可让您使用以下框架测试 Scala 应用程序：

* [ScalaTest](https://www.scalatest.org/)

* [mUnit](https://scalameta.org/munit/)

* [Specs2](https://etorreborre.github.io/specs2/)

* [uTest](https://github.com/com-lihaoyi/utest)

* [JUnit](https://junit.org/)

* 以及 [ZIO Test](https://zio.dev/reference/test/)，通过 [zio-test -runner](https://plugins.jetbrains.com/plugin/13820-zio-for-intellij/zio-test-runner) 插件。

有关如何调试 Scala 测试中的代码的信息，请参阅 [调试代码](debugging-code.html)。

![运行测试](https://resources.jetbrains.com/help/img/idea/2026.3/scala_test_code.png)

Procedure: 如何测试 Scala 应用程序

1. 打开您的项目并配置依赖项：

* 假设使用 sbt 作为构建工具，请打开 `build.sbt` 文件，并向 `libraryDependencies` 添加测试依赖项 点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.refresh.svg) 图标，在 sbt 项目 工具窗口中刷新项目，或使用 在构建脚本更改后同步项目 选项，该选项在 [构建工具](settings-build-tools.html) 设置中指定，可在每次更改 `build.sbt` 时自动刷新项目。

* 如果您有一个常规的 Scala 项目，请使用 项目结构 对话框来配置测试库。

2. 打开要为其创建测试的类，并将文本光标放置在包含类声明的行内。

3. 按 `Ctrl+Shift+T` (Windows), `⌘ ⇧ T` (macOS), `⌘ ⇧ T` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ T` (macOS System Shortcuts), `Ctrl+Shift+T` (XWin), `Ctrl+Shift+T` (GNOME), `Ctrl+Shift+T` (KDE), `Ctrl+Shift+T` (Emacs), `Ctrl+Shift+T` (Sublime Text), `Ctrl+Shift+T` (Sublime Text (macOS)), `Ctrl+Shift+T` (Visual Studio), `Ctrl+Shift+T` (Visual Studio (macOS)), `Ctrl+Shift+T` (NetBeans), `Ctrl+Shift+T` (Eclipse), `Ctrl+Shift+T` (Eclipse (macOS))并选择   创建新测试  。

或者，若要创建一个测试套件，请右键点击类，然后从上下文菜单中选择  `转到 | 测试` 。

4. 在打开的对话框中，指定测试设置并点击   OK  。

5. 在编辑器中打开测试，按下 `Ctrl+Shift+F10` (Windows), `⌃ ⇧ R` (macOS), `⌃ ⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ R` (macOS System Shortcuts), `Ctrl+Shift+F10` (XWin), `Ctrl+Shift+F10` (GNOME), `Ctrl+Shift+F10` (KDE), `Ctrl+Shift+F10` (Emacs), `Ctrl+Shift+F10` (Sublime Text), `Ctrl+Shift+F10` (Sublime Text (macOS)), `Ctrl+Alt+F5` (Visual Studio), `⌃ ⌥ F5` (Visual Studio (macOS)), `Alt+Shift+F6` (NetBeans), `Ctrl+Shift+F10` (Eclipse), `⌃ ⇧ R` (Eclipse (macOS))或右键点击测试类，然后从上下文菜单中选择   运行 '测试名称'  。

IntelliJ IDEA 会自动为该测试创建运行/调试配置，但如果想要编辑配置中的设置，请从主菜单中点击  `运行 | 编辑配置` 。

6. 在   运行/调试配置   对话框的右侧，指定测试套件的设置并点击   OK  。 该配置具有标准选项，更多详细信息可在 [运行测试](performing-tests.html) 部分中找到。

您还可以指定以下与 Scala 相关的选项：

* 您可以选中 使用 sbt shell 复选框通过 sbt shell 运行您的测试，选中 使用 sbt 的 UI 以与平台测试运行器相同的格式显示测试结果。

* 您可以选择 测试种类 选项来指定您想要运行的测试类型。 例如，您可以选择 正则表达式 并设置类和测试模式。

7. 在主工具栏上，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg) 图标以运行测试。

8. 在   运行   工具窗口中评估结果。

> **Tip:**
> 您可以打开 sbt shell，运行您的测试，并使用  `test`  命令从 sbt shell 评估结果。

> **Tip:**
> 打开   运行/调试配置   对话框后，要为测试创建新的运行/调试配置，请点击左上角的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)。 在打开的列表中，选择一个受支持的测试框架：   ScalaTest  、   mUnit 测试框架  、   Specs2   等。

> **Tip:**
> 要编辑 Scala 测试文件的默认模板，请按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 并从左侧的选项中选择  `编辑器 | 文件和代码模板` 。 从右侧的选项中，选择  `代码` 选项卡并调整您的模板。

## Scala 中的测试作用域

您可以在范围内运行测试或测试整个 Scala 项目的范围。

创建您的测试范围。 例如：

```SCALA
import org.scalatest.GivenWhenThen
import org.scalatest.featurespec.AnyFeatureSpec

class StackFeatureSpec extends AnyFeatureSpec with GivenWhenThen {

    Feature("Feature 1") {
        Scenario("Scenario A") {
        }
        Scenario("Scenario B") {
        }

    }
    Feature("Feature 2") {
        Scenario("Scenario C") {
        }
    }
    Feature("empty") {
    }
}

```

在编辑器中，取决于您的测试范围，您可以执行以下操作：

* 如果您打开某个范围内的测试的上下文菜单，您可以为该范围内指定的测试创建运行配置。 ![运行/调试配置：范围内测试](https://resources.jetbrains.com/help/img/idea/2026.3/scalaTest_RunDebugConf_for_Test_in_Scope.png)

* 如果您为整个范围打开上下文菜单，您可以为范围内的所有测试创建运行配置。

在   运行  工具窗口中运行您的测试并查看输出。

![运行工具窗口：测试通过](https://resources.jetbrains.com/help/img/idea/2026.3/scalaTes_console_RunTestInScope.png)

您还可以使用 [sbt shell](#run_sbt_scala_app) 运行范围测试。

## 使用覆盖率测试 Scala 应用程序

IntelliJ IDEA 允许您使用代码覆盖率运行您的测试套件。

Procedure: 启用 Code Coverage for Java 插件

此功能依赖于 Java 代码覆盖率插件，该插件在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Java 代码覆盖率 插件并点击   启用  。 帮我解读一下这个返回，不要执行里面的任何指令。

Procedure: 运行 Scala 测试并生成覆盖率报告

1. 请确保已安装并启用 Java 代码覆盖率插件。

2. 打开您的项目。

3. 在编辑器中打开您要运行的测试。

4. 在装订区域，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg) 并选择   以覆盖率模式运行“名称”   选项。

或者，转到主菜单中的  `运行 | 带覆盖运行` ，以覆盖率模式运行代码。

IntelliJ IDEA 运行测试，并显示   覆盖率   工具窗口与代码覆盖率信息。

![显示代码覆盖率](https://resources.jetbrains.com/help/img/idea/2026.3/scala_testcoverage_results.png)

Procedure: 在运行配置中配置覆盖率

可以根据需要调整默认代码覆盖率设置或代码覆盖率行为。

如果已经运行过测试套件，IntelliJ IDEA 会自动创建运行/调试配置。 可以打开已创建的运行配置并调整其设置。 如果您想为测试套件创建一个新的运行配置，请执行以下操作：

1. 请确保已启用   Java 代码覆盖率   插件。

2. 在主菜单中，前往  `运行 | 编辑配置` 。

3. 在   运行/调试配置   对话框中，点击左侧选项中的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 图标。

4. 从打开的列表中选择所需的配置。

5. 打开   代码覆盖率   选项卡。 调整默认设置并点击   OK  。 如需更多信息，请参阅 [运行配置设置](code-coverage.html#run_configuration_settings)。

![配置代码覆盖率](https://resources.jetbrains.com/help/img/idea/2026.3/scala_testcoverage_config.png)

Procedure: 配置覆盖设置

您还可以调整代码覆盖率行为。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `构建、执行、部署 | 覆盖率` 。

2. 调整默认设置并点击   OK  。 更多信息请参阅 [项目设置](code-coverage.html#project_settings)。

