ChatGPT解决这个技术问题 Extra ChatGPT

使用 JUnit 配置 IntelliJ IDEA 以进行单元测试

今天早上我决定通过试用版试用 IntelliJ 并安装了 JUnit 插件。我做了一个新的 Java 项目,我想为它写一个测试用例。

如何将 junit.jar 文件添加到我的项目中? (我实际上想将它添加到每个 java 项目中,现在和永远更多 - 有没有办法做到这一点?)。

你可以接受一个作为答案,我更喜欢@CrazyCoder 的那个......
事实上,没有一个答案真正回答了“如何将 junit.jar 添加到我的项目中?”的问题,但是 71 票和 104 票......所以永远不会让我感到惊讶。

H
Hulk1991

如果您已有测试类,但缺少 JUnit 库依赖项,请参阅 Configuring Libraries for Unit Testing 文档部分。在红色代码上按 Alt+Enter 应该会给您一个添加缺失 jar 的意图操作。

然而,IDEA 提供了更多。如果您还没有测试类并且想为任何源类创建一个,请参阅下面的说明。

您可以通过在编辑器中站在类的名称上按 Alt+Enter 或使用 Ctrl+Shift+T 键盘快捷键来使用创建测试意图操作。

将出现一个对话框,您可以在其中选择要使用的测试框架,然后第一次按 Fix 按钮将所需的库 jar 添加到模块依赖项中。您还可以选择创建测试存根的方法。

https://i.stack.imgur.com/1pnVQ.png

https://i.stack.imgur.com/kWulJ.png

您可以在在线文档的 Testing help section 中找到更多详细信息。


啊,谢谢。 “测试帮助部分”的链接使我将光标放在我的测试文件中未解决的 @Test 上,现在我的生活已经完成了!
cmd-shift-T 不是意味着我必须从被测类而不是测试本身开始吗?
第一个链接不起作用。这是正确的:site2.jetbrains.com/idea/webhelp/…
@Bob +1 指向流量突破口。但是是先制作MyClass,然后马上用Ctrl+Shift+T创建对应的MyClassTest;那一定那么糟糕吗?制作 MyClassTest 意味着稍后会有一个 MyClass 类的测试,对吧?
I
Igor Konoplyanko

在代码编辑器中按 Ctrl+Shift+T。它将向您显示弹出窗口,其中包含创建测试的建议。

Mac 操作系统:⌘ Cmd+Shift+T


如果您想获得“强”的答案,请向下滚动。这是快速而简短的答案,下面是更详细的答案。
答案可以快速而简短,并且仍然描述菜单的作用以及 OP 应该考虑选择哪个选项。
你不知道 ctr-shft-t 映射到什么。
在 Mac 上,映射给了我缩略图。很确定那不是正确的。
G
Gayan Weerakutti

一种方法是将 junit.jar 作为外部依赖项添加到您的 $CLASSPATH

https://i.stack.imgur.com/0UiY8.gif

为此,请转到项目结构,然后将 JUnit 添加为库之一,如 gif 所示。

在“选择模块”提示中,仅选择您需要 JUnit 的模块。


您是摇滚明星,感谢您提供的 gif 展示了该做什么!
更喜欢这个答案。
i
irudyak

如果您已经有测试课程,您可以:

1) 将光标放在类声明上,然后按 Alt + Enter。在对话框中选择 JUnit 并按 Fix。这是在 IntelliJ 中创建测试类的标准方法。

2) 或者,您可以手动添加 JUnit jars(从站点下载或从 IntelliJ 文件中获取)。


当我这样做时,它给了我错误:Gradle 同步失败:新创建的守护进程具有与预期不同的上下文。关于如何解决这个问题的任何提示?
问题是:您究竟是如何手动添加 JUnit jar 的?
我想经过这么长时间,我们仍然不知道如何手动添加junit?
这重复了之前的答案。
R
Robert Lujo

就我而言(IntelliJ 2020-02,Kotlin dev)JUnit 库已包含在创建项目向导中。我需要启用 JUnit 插件:

https://i.stack.imgur.com/r1UzP.png

在每个测试类和方法旁边获得绿色的运行测试图标:

https://i.stack.imgur.com/5GQo9.png

并且 CTRL+Shift+R 将在插入符号下运行测试,并且 CTRL+Shift+D 进行调试。