Running tests on Intellij: Class not found

I'm evaluating IntelliJ (13.0.2 133.696) and cannot get jUnit tests to run from within the IDE.

My project is a multi module gradle project and uses scala.

Test class is located under src/test/scala/xxx/xxxxx/xxx/xxxx/xxxxx and everytime i try to run from IDE i get the same error:

Class not found: "xxx.xxxxx.xxx.xxxx.xxxxx.AccountRepositoryTest"

Test class is nothing fancy, simple jUnit test:

@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(classes = Array(classOf[DataConfig], classOf[SettingsConfig]))
class AccountRepositoryTest extends AssertionsForJUnit {

I've found a related question Cannot run Junit tests from IDEA 13.0 IDE for imported gradle projects , but the provided fix (upgrade to 13.0.2) does not work.

I've even tried upgrading to the latest EAP, still the same issue.


Solution 1:

I looked through some of these answers, fussed with Project Settings, tried a few things, etc. and nothing worked. (Full disclosure: I'm not trying to juggle Gradle here; I'm just using Maven, but I don't see what this has to do with Gradle.)

I'm using IDEA 14.

What I found to work, because it just simply seemed IntelliJ had lost its way, was this:

$ rm -rf .idea project-name.iml

Then relaunched IntelliJ and did File -> Open -> navigate to the root of my project, etc.--in short, just recreated my project.

IntelliJ got over it. I may have messed something up originally in this project as I had done plenty of refactoring both package- and class names and I had even changed the project name. (It was probably my fault it happened.)

Solution 2:

I had this same problem, and in my case the problem was due to the "Project compiler output" path being left blank in Project Settings.

Project Structure configuration screen

To fix it I created a classes directory in my project root, and set Project compiler output to the absolute path (use the button to browse).

Solution 3:

Go to Project Settings -> Project.

Fill in Project compiler output: ex. D:\repo\Project\out

Go to Module -> Paths

Make sure that:

output path is like D:\repo\Project\out\production

test output path like D:\repo\Project\out\test

Should work!

Solution 4:

Simply 'Build > Rebuild Project' worked for me.

Solution 5:

Check Run/Debug configuration for that test "Use classpath and SDK of module:" should point into your module.

In meantime you module must have a Scala facet and that class must be inside the "Test source Folders".