ChatGPT解决这个技术问题 Extra ChatGPT

Create Test Class in IntelliJ

I'm working within the traditional Maven Java project structure inside IntelliJ, e.g.

main/java/com/x/y
test/java/com/x/y

When I create a class called Foo in main/java/com/x/y using IntelliJ I would like to automatically have a file called FooTest.java created in test/java/com/x/y.

In Eclipse there is a button on the toolbar that will do much of the work involved in creating a skeleton test class, does anyone know of something similar in IntelliJ?

Thanks,

The directories structures for tests and tested classes must fit. Here is how to do it easily: stackoverflow.com/a/36057708/715269

M
M. Justin

Use the menu selection Navigate -> Test, or Ctrl+Shift+T (Shift+⌘+T on Mac). This will go to the existing test class, or offer to generate it for you through a little wizard.


In my project for some reason, even though the class and the test class are located in the same package, when I did Ctrl+Shift+T it says "No Test Class Found". Also, when I right click on the test file, it only gives me the option to compile test, but not run test. Any idea?
Off hand I'd answer as Andreas did at your other question. Somehow it doesn't recognize that your classes are tests.
Still works nicely with 12.1.4 in Windows. Check in Settings that the Keymap binds Mainmenu/Navigate/Test to Ctrl+Shift+T
Didn't work for me - until I re-enabled the JUnit plugin which had somehow been disabled.
It should be noted that Navigate > Test is disabled when the class is selected in the Project window. It must be selected in an editor tab.
v
vahid abdi

Alternatively you could also position the cursor onto the class name and press alt+enter (Show intention actions and quick fixes). It will suggest to Create Test.

At least works in IDEA version 12.


For me, this is the most logical option. I've overridden CTRL+SHIFT+T to be "restore previous tab" so the ALT+ENTER combo on the class name works well.
Works on Intellij Idea 2018.2.
v
vahid abdi

*IntelliJ 13 * (its paid for) We found you have to have the cursor in the actual class before ctrl+Shift+T worked.

Which seems a bit restrictive if its the only way to generate a test class. Although in retrospect it would force developers to create a test class when they write a functional class.


a
abrahamcalf

Use the menu selection Navigate > Test

https://i.stack.imgur.com/tu4JR.gif

Shortcuts:

Windows

Ctrl + Shift + T

macOS

⌘ + Shift + T


H
Hamish

I can see some people have asked, so on OSX you can still go to navigate->test or use cmd+shift+T

Remember you have to be focused in the class for this to work


J
Jugal Panchal

Right click on project then select new->directory. Create a new directory and name it "test". Right click on "test" folder then select Mark Directory As->Test Sources Root Click on Navigate->Test->Create New Test Select Testing library(JUnit4 or any) Specify Class Name Select Member

That's it. We can modify the directory structure as per our need. Good luck!


Thank you, I was getting "Generate tests in same root as source?" trying the above, this was just what I needed.
S
Sergey Vyacheslavovich Brunov

I think you can always try the Ctrl + Shift + A to find the action/command you need. Here you can try to press Ctrl + Shift + A and input «test» to find the command.


D
Da_Vicki

Use @Test annotation on one of the test methods or annotate your test class with @RunWith(JMockit.class) if using jmock. Intellij should identify that as test class & enable navigation. Also make sure junit plugin is enabled.


A
Adriaan Koster

With the cursor on the class name declaration I do ALT + Return and my Intellij 14.1.4 offers me a popup with the option to 'Create Test'.