ไม่พบคลาส: ชุดทดสอบว่างใน IntelliJ


183

ฉันเพิ่งเริ่มโปรแกรมวิทยาการคอมพิวเตอร์ที่วิทยาลัยของฉันและฉันมีปัญหาบางอย่างกับ IntelliJ เมื่อฉันพยายามเรียกใช้การทดสอบหน่วยฉันได้รับข้อความ

Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.

ฉันเห็นข้อความชื่อ "ไม่พบการทดสอบ" ที่ด้านซ้ายของหน้าจอ รหัสทดสอบของฉันอยู่ที่นี่:

package edu.macalester.comp124.hw0;


import org.junit.Test;
import static org.junit.Assert.*;

public class AreaTest {

    @Test
    public void testSquare() {
    assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
    }

    @Test
    public void testCircle() {
    assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
    }
}

และรหัสโครงการของฉันอยู่ที่นี่:

package edu.macalester.comp124.hw0;

import java.lang.Math;
public class Area {

/**
 * Calculates the area of a square.
 * @param sideLength The length of the side of a square
 * @return The area
 */
public static double getSquareArea(double sideLength) {
    // Has been replaced by correct formula
    return sideLength * sideLength;
}

/**
 * Calculates the area of a circle.
 * @param radius The radius of the circle
 * @return The area
 */
public static double getCircleArea(double radius) {
    // Replaced by correct value
    return radius * 2 * Math.PI;
}

}

ฉันจะทำให้การทดสอบทำงานได้อย่างไร ฉันใช้ IntelliJ IDEA CE รุ่นล่าสุด


7
มีหลายสิ่งผิดปกติ สำหรับฉันมันง่ายเหมือนการพิมพ์mvn clean packageในเครื่อง ไม่แน่ใจว่าทำไม IntelliJ นำเข้าโครงการอย่างไม่ถูกต้องตั้งแต่เริ่มต้น
MarkHu

1
สำหรับฉันแค่สร้างโฟลเดอร์เป็น "การทดสอบทรัพยากรรูท" ...
ซินเหมิง


Build -> Clean and Build -> การสร้างใหม่นั้นเพียงพอสำหรับฉัน
gustavoknz

คำตอบ:


109

มีข้อความเดียวกัน ฉันต้องลบการกำหนดค่า Run / Debug

ในกรณีของฉันฉันรันการทดสอบหน่วยเป็นการทดสอบในเครื่องก่อน หลังจากนั้นฉันย้ายการทดสอบของฉันไปยังแพ็คเกจ androidTest แล้วลองเรียกใช้อีกครั้ง Android Studio จำการกำหนดค่าการใช้งานครั้งล่าสุดดังนั้นจึงพยายามเรียกใช้อีกครั้งเป็นการทดสอบหน่วยท้องถิ่นซึ่งทำให้เกิดข้อผิดพลาดเดียวกัน

หลังจากลบการกำหนดค่าและเรียกใช้การทดสอบอีกครั้งมันสร้างการกำหนดค่าใหม่และใช้งานได้

ป้อนคำอธิบายรูปภาพที่นี่


ฉันคิดว่าในกรณีส่วนใหญ่ทางออกของคุณจะเป็นสากลมากที่สุดและมหัศจรรย์น้อยที่สุด ทำงานในโครงการของฉันเหมือนมีเสน่ห์
ba3a

ฉันลองแล้ว แต่มันใช้ไม่ได้ผล ฉันยังต้องทำให้แคชเป็นโมฆะด้วย File > Cashes / Restart
Lukasz

ฉันลองแล้วก็ยกเลิกแคชเชียร์ด้วย แต่ก็ยังใช้งานไม่ได้
ปีก

นี้ทำงานสำหรับผมหลังจากที่ผมจำได้ว่าในการคลิกปุ่ม OK ที่เห็นได้ชัดแทนเพียงปิดกล่องโต้ตอบ :-)
ริมสกี

ฉันไม่เห็นรายการ "เครื่องมือวัดเฉพาะ" ใน Android Studio ของฉัน
david

59

ฉันไปที่

File -> Invalidate Caches/Restart...

แล้วมันก็ใช้ได้สำหรับฉัน


6
ฉันทำสิ่งนี้แล้วต้องลบการกำหนดค่าการทดสอบด้วย
Johan Henkens

มันไม่ได้ช่วยในกรณีของฉัน
3791111

ไฟล์> ทำให้แคช / เริ่มใช้ไม่ถูกต้อง> เพิ่งเริ่มทำงานใหม่ให้ฉัน
Hashmatullah Noorzai

49

ฉันมีปัญหาเดียวกัน ฉันสร้างโครงการขึ้นมาใหม่และช่วยฉันได้

ไปที่บิลด์ -> สร้างโครงการใหม่

หลังจากนั้นถ้าคุณใช้เครื่องมือ Maven ฉันขอแนะนำให้ใช้ตัวเลือกการนำเข้าโครงการ Maven ทั้งหมด


หากวิธีนี้ไม่ได้ผลให้ลองวิธีแก้ปัญหาอื่นที่เป็นไปได้:

  • ไปที่ไฟล์ -> ทำให้แคช / เริ่มใช้ไม่ได้ -> ทำให้ใช้งานไม่ได้และเริ่มต้นใหม่

หรือ:

  • ในโครงสร้างโครงการ Maven ของคุณsrc / main / javaคลิกขวาที่ไดเรกทอรีjavaและเลือกตัวเลือกทำเครื่องหมายไดเรกทอรีเป็น -> แหล่งที่มา

    ทำเช่นเดียวกันกับไดเรกทอรีทดสอบดังนั้น: src / ทดสอบ / javaคลิกขวาที่ไดเรกทอรีjavaและเลือกตัวเลือกทำเครื่องหมายไดเรกทอรี เป็น -> รูทการทดสอบซอร์ส

หรือ:

  • ไปที่รัน -> แก้ไขการกำหนดค่าและในส่วนJUnitลบการกำหนดค่าการทดสอบ ใช้การเปลี่ยนแปลง หลังจากนั้นลองเรียกใช้การทดสอบของคุณ ควรสร้างการกำหนดค่าใหม่โดยอัตโนมัติ

หรือ:

  • ไปที่ไฟล์ -> โครงสร้างโครงการเลือกโมดูลจากนั้นเลือกโมดูลที่เหมาะสมของคุณและไปที่แท็บเส้นทาง
    ตรวจสอบตัวเลือก:
    ปุ่มตัวเลือกใช้เส้นทางออกโมดูลที่รวบรวมควรจะเลือก

    เส้นทางออกควรอยู่ในโครงการของคุณ นอกจากนี้ยังมีเส้นทางออกทดสอบควรจะไดเรกทอรีภายในโครงการของคุณ ตัวอย่างเช่นมันสามารถมีลักษณะคล้ายกัน:
    เส้นทางผลลัพธ์: C: \ path \ to \ your \ module \ yourModule \ target \ คลาส
    ทดสอบเส้นทางผลลัพธ์: C: \ path \ to \ your \ module \ yourModule \ target \ test-classes

    ไม่รวมเอาต์พุต เส้นทางที่ควรจะยกเลิก

10
การสร้างโครงการขึ้นใหม่ ( Build -> Rebuild Project) เป็นสิ่งที่ใช้ได้ผลสำหรับฉัน ขอบคุณ!
ฟรานซิสโกซี.

วิธีนี้ใช้ได้ผลสำหรับฉันสิ่งสุดท้ายที่เกี่ยวกับโมดูลและการใช้เส้นทางผลลัพธ์ ขอบคุณ
Mohammad Ganji

ในฐานะโซลูชันที่สิ้นหวังมากขึ้นให้ลบไฟล์. taa และเปิดโครงการอีกครั้ง อย่างไรก็ตามคุณจะสูญเสียการกำหนดค่า / การตั้งค่าบางอย่าง
แอรอน

การตั้งค่า<project-root>/src/test/javaเป็นรากทดสอบและการBuild -> Rebuild Projectทำงานสำหรับฉัน นอกจากนี้เมื่อคลาสที่มีการทดสอบอยู่ในแพ็คเกจด้วยชื่อแพ็คเกจที่ขึ้นต้นด้วยjava.*ฉันได้รับข้อยกเว้นด้านความปลอดภัย
หัวหน้าอาจารย์

ปัญหาคือว่าการอ้างอิงที่ล้าสมัย
dellasavia

17

สิ่งนี้อาจเกิดขึ้นได้หากโฟลเดอร์ทดสอบของคุณถูกนำเข้าเป็นโมดูลแยกต่างหาก (สี่เหลี่ยมจัตุรัสเล็ก ๆ จะปรากฏบนไอคอนโฟลเดอร์ในมุมมองโครงการ) ถอดโมดูลโดยการเลือกโฟลเดอร์ทดสอบในมุมมองของโครงการและกด
จากนั้นเริ่มการทดสอบของคุณ หากกล่องโต้ตอบป๊อปอัปปรากฏขึ้นพร้อมกับข้อความแสดงข้อผิดพลาดว่าไม่มีโมดูลใดถูกเลือกให้ระบุโมดูลรูทของคุณจากเมนูดรอปดาวน์DEL


3
นี่เป็นปัญหาของฉันด้วย (กำลังสองในโฟลเดอร์ทดสอบ - คงไม่รู้ว่าหมายถึงอะไร!); เพื่อแก้ไขฉันเปิดการกำหนดค่าการทำงานและพบว่า "ใช้คลาสพา ธ ของโมดูล:" ถูกตั้งค่าเป็นโมดูลทดสอบ ฉันเปลี่ยนเป็นเส้นทางคลาสของโครงการแทนและทำงานได้ดี ขอบคุณสำหรับการชี้ไปที่ "โมดูลแยก" gotcha!
Redboots

นี่คือสิ่งที่เกิดขึ้นกับฉัน ฉันสร้างโครงการ Spring โดยใช้ start.spring.io และเปิด หลังจากนั้นฉันเริ่ม SpringBootTest และพบข้อผิดพลาด "ไม่พบคลาส:" ... "ชุดทดสอบว่าง" หลังจากทำตามวิธีแก้ปัญหาของคุณแล้วกดปุ่ม DELETE บนโฟลเดอร์ทดสอบและสร้างการกำหนดค่าการรันใหม่ทุกอย่างไม่เป็นปัญหา คำแนะนำเพิ่มเติม: เมื่อกดปุ่มลบในโฟลเดอร์ทดสอบจะมีข้อความปรากฏขึ้นว่า "ไม่มีไฟล์ใดจะถูกลบ" ดังนั้นไม่ต้องกลัวการกดปุ่ม
kleenxcoder

14

ฉันมีปัญหาที่คล้ายกันหลังจากเริ่มต้นโครงการ IntelliJ ใหม่ ฉันพบว่า "เส้นทางรวบรวมผลลัพธ์โมดูล" สำหรับโมดูลของฉันไม่ได้ระบุอย่างถูกต้อง เมื่อฉันกำหนดพา ธ ใน "คอมไพล์พา ธ เอาต์พุต" ของโมดูลไปยังตำแหน่งที่เหมาะสมปัญหาถูกแก้ไข เส้นทางการคอมไพล์ผลลัพธ์ถูกกำหนดในการตั้งค่าโครงการ ภายใต้โมดูลให้เลือกโมดูลที่เกี่ยวข้องและเลือกแท็บเส้นทาง ...

แท็บเส้นทางในการตั้งค่าโครงการ | กล่องโต้ตอบโมดูล

ภาพหน้าจอ

... ฉันส่งคอมไพเลอร์เอาต์พุตไปยังโฟลเดอร์ชื่อ "output" ที่มีอยู่ในโฟลเดอร์โครงการหลัก


14

ในกรณีของฉันฉันมีทุกอย่างอื่นในสถานที่ที่เหมาะสม แต่ผมได้ทำงานในห้องสมุด JavaกับKotlin ฉันลืมสมัครปลั๊กอิน:

apply plugin: 'kotlin-android'

และตอนนี้ก็ทำงานได้ตามที่คาดไว้


1
เหมือนกับฉัน. มันน่ารำคาญที่ไม่มีตัวเลือก Kotlin เมื่อสร้างโมดูล
Rupert Rawnsley

11

ดังนั้นปัญหาของฉันที่นี่คือชื่อโฟลเดอร์ ฉันเรียกชั้นรหัสโฟลเดอร์ของฉันปี 2016/2017 ซึ่ง IntelliJ ไม่ชอบ เพียงลบเครื่องหมายทับ (หรืออักขระที่ละเมิดอื่น ๆ ในเส้นทาง) นำเข้าโครงการอีกครั้งและคุณจะไปได้ดี!


สิ่งนี้ช่วยฉัน สำหรับคนอื่น ๆ ฉันมีโฟลเดอร์ใน Dropbox เมื่อฉันย้ายออกจาก Dropbox และนำเข้าอีกครั้งปัญหาก็หายไป
มิกเคอร์เซีย

คำตอบนี้สมควรได้รับรางวัลโนเบลสาขาสันติภาพ!
Ali Abbas Jaffri

7

ใน Android Studio 3.0 + บางครั้งการทดสอบ UI ถูกตีความว่าเป็นการทดสอบหน่วยและไม่ขอการเลือกการปรับใช้เป้าหมาย คุณสามารถไปที่แก้ไขการกำหนดค่าและทำเครื่องหมายว่าเป็นการทดสอบการรวมและมันจะเริ่มทำงาน


นอกจากนี้บน Android Studio 3.0.1 ปุ่มเรียกใช้ถัดจากการทดสอบไม่ทำงาน หลังจากอัปเดตเป็น 3.1 นกขมิ้น 8 มันก็เริ่มทำงานอีกครั้ง
มาร์ค

6

ฉันมีปัญหาเดียวกันและการสร้าง / แคชเป็นโมฆะ ฯลฯ ไม่ทำงาน ดูเหมือนว่าเป็นเพียงข้อบกพร่องใน Android Studio ...

วิธีแก้ปัญหาชั่วคราวคือการทดสอบหน่วยของคุณจากบรรทัดคำสั่งด้วย:

./gradlew test

ดู: https://developer.android.com/studio/test/command-line.html


6

หากโครงการมีปัญหาการรวบรวมดังนั้นการทดสอบอาจไม่ทำงาน ดังนั้นก่อนสร้างโครงการเป็น Build -> Build Project หลังจากการรวบรวมสำเร็จให้ทำการทดสอบอีกครั้ง

หากไม่มีอะไรทำงานให้ปิดหน้าต่างโครงการและลบโครงการและนำเข้าใหม่เป็นโครงการ Gradle / Maven ซึ่งจะตั้งค่าทุกอย่างให้คุณโดยการแทนที่ไฟล์ที่มีอยู่ของ IntelliJ ซึ่งจะลบแคชที่ไม่ถูกต้อง

คุณสามารถทำให้แคชใช้ไม่ได้

File -> Invalidate Caches/Restart


5

ฉันมีคำถามเดียวกันเมื่อฉันนำเข้าบางส่วนjarจาก Maven และต่อมาทำให้เกิดempty-test-suiteข้อผิดพลาด

ในกรณีของฉันมันเป็นเพราะ maven การรีเซ็ตไฟล์โมดูล ซึ่งฉันแก้ไขโดยการล้างการกำหนดค่าเริ่มต้นของฉัน:

  1. เปิดโครงสร้างโครงการด้วยshift- ctrl- alt- sทางลัด

สกรีนช็อตของแหล่งข้อมูล PModules

  1. ดูโมดูล> แหล่งที่มาและเติมแพ็คเกจแหล่งข้อมูลหรือแพคเกจการทดสอบ

5

การนำเข้าโครงการหรือโมดูลใหม่สามารถแก้ไขปัญหาได้ ฉันทำปัญหานี้โดยการเปลี่ยนชื่อแพคเกจเมื่อพัฒนา แต่เส้นทางออกและเส้นทางทดสอบออกเป็นเส้นทางเก่า ดังนั้น Intellij จึงไม่สามารถหาคลาสจากเส้นทางเก่าได้ ดังนั้นวิธีที่ง่ายที่สุดคือการแก้ไขเส้นทางออกและทดสอบเส้นทางผลลัพธ์

การตั้งค่าโมดูล Intellij


ด้วยเหตุผลบางอย่างที่สืบทอดเส้นทางของโปรเจ็กต์ไม่ได้ผลสำหรับฉันบน MacOs คุณมีความคิดเห็นใด ๆ ว่าทำไมมันถึงเกิดขึ้นได้บ้าง
Johnny_D

@Johnny_D คุณแน่ใจหรือว่าปัญหาของคุณเกิดจากการเปลี่ยนชื่อแพ็คเกจหรือไม่
Bejond

5

ฉันมีปัญหาเดียวกัน (Android Studio 3.2 Canary 4) และฉันได้ลองคำแนะนำส่วนใหญ่ที่อธิบายไว้ในคำตอบอื่น ๆ - ไม่ประสบความสำเร็จ โปรดทราบว่าสิ่งนี้เกิดขึ้นหลังจากฉันย้ายไฟล์จากtestไปยังandroidTestโฟลเดอร์ มันยังคงแสดงในการกำหนดค่าการทำงานเป็นทดสอบแทนการทดสอบด้วยเครื่องมือ

ในที่สุดฉันก็จบลงด้วยการสร้างไฟล์ใหม่:

  1. สร้างคลาสการทดสอบแบบใช้เครื่องมือใหม่ที่มีชื่อแตกต่างกัน
  2. คัดลอกรหัสทั้งหมดจากชั้นเรียนของคุณ
  3. เรียกใช้
  4. ลบคลาสเก่า
  5. เปลี่ยนชื่อคลาสใหม่เป็นชื่อที่ต้องการ

ไม่ใช่ความคิดที่ไม่ดี =) ขอบคุณ!
Andrew Grow

5

ที่น่าสนใจฉันประสบปัญหานี้หลายครั้งเนื่องจากเหตุผลที่แตกต่างกัน สำหรับตัวอย่างเช่นการทำให้แคชไม่ถูกต้องและการรีสตาร์ทก็ช่วยได้เช่นกัน

ล่าสุดฉันแก้ไขโดยการแก้ไขเส้นทางออกของฉันในไฟล์ -> โครงสร้างโครงการ -> โครงการ -> โครงการคอมไพเลอร์เอาท์พุทไปที่: absolute_path_of_package / out

สำหรับเช่น: / Users / random-guy / myWorkspace / src / DummyProject / out


นี่คือชุดทดสอบของฉัน! ขอบคุณ!
แฟรงค์

3

สิ่งนี้จะเกิดขึ้นเมื่อโมดูลและ / หรือโปรเจ็กต์ jdk ของคุณไม่ได้รับการกำหนดค่าอย่างเหมาะสม


โปรดอธิบาย "การกำหนดค่าที่เหมาะสม" ฉันไม่คิดว่ามันจะมีประโยชน์สำหรับผู้ใช้ที่มีปัญหานี้ ขอบคุณ!
eggmatters

3

การลบ.ideaและการนำเข้าโครงการ SBT อีกครั้งแก้ปัญหานี้ให้ฉัน


ใช้งานได้หลังจากลบโฟลเดอร์. aidea และนำเข้าโครงการ maven อีกครั้ง (y)
Amine Soumiaa

นี่เป็นสิ่งเดียวกันสำหรับฉัน ฉันทำตามคำแนะนำด้านบน แต่ไม่มีใครทำงาน ฉันลบโฟลเดอร์ฐาน. taa และไฟล์. iml ใน submodules ด้วย
เดนนิส

3

ในกรณีของฉัน IntelliJ ไม่ได้รวบรวมแหล่งทดสอบด้วยเหตุผลแปลก ๆ ฉันแค่แก้ไขการกำหนดค่าการสร้างและเพิ่มเป้าหมาย maven clean test-compileในBefore launchส่วน


พยายามทั้งหมดข้างต้น แต่เพียงสิ่งนี้ช่วย :) ขอบคุณ!
Antenka

2

ในกรณีของฉันมีปัญหากับชื่อทดสอบ :)

หากชื่อคือ: dummyNameTestให้ทำการทดสอบที่ไม่พบ แต่ในกรณีที่ testDummyNameทุกอย่างโอเค


1

ฉันมีปัญหาเดียวกัน ในกรณีของฉันฉันมีคลาสทดสอบบางอย่างในแพ็คเกจ / โฟลเดอร์นอกโฟลเดอร์หลัก แต่เมื่อฉันตรวจสอบการกำหนดค่าการเรียกใช้ฉันพยายามค้นหาคลาสที่อยู่ในโฟลเดอร์หลักเสมอ ดังนั้นหากเป็นกรณีนี้คุณต้องย้ายแพคเกจไปยังที่ที่การกำหนดค่า Run ชี้ไป หรือเปลี่ยนการกำหนดค่าการเรียกใช้เพื่อชี้ไปที่แพ็คเกจของคุณ


1

การทดสอบของคุณจำเป็นต้องใช้อุปกรณ์ Android (อีมูเลเตอร์หรือฮาร์ดแวร์) หรือไม่?
ถ้าเป็นเช่นนั้นจะเรียกว่า "การทดสอบด้วยเครื่องมือ" และอยู่ใน "module-name / src / androidTest / java /"
ถ้าไม่ใช่จะเรียกว่า "การทดสอบหน่วยท้องถิ่น" และอยู่ใน "module-name / src / test / java"

https://developer.android.com/training/testing/start/index.html

ฉันได้รับข้อผิดพลาดเดียวกันเพราะฉันได้เขียนการทดสอบหน่วยท้องถิ่น แต่มันถูกวางไว้ในโฟลเดอร์สำหรับการทดสอบแบบใช้เครื่องมือ การย้ายการทดสอบหน่วยโลคัลไปยังโฟลเดอร์ "src / test / java" ได้รับการแก้ไขแล้วสำหรับฉัน


1

ได้รับข้อผิดพลาดเดียวกัน อุปกรณ์ของฉันไม่ได้เชื่อมต่อกับ android studio เมื่อฉันเชื่อมต่อกับสตูดิโอ มันได้ผล. นี่เป็นการแก้ปัญหาของฉัน


1

อาจเป็นเพราะโฟลเดอร์ไม่ได้ตั้งค่าเป็นแหล่งทดสอบซึ่งสามารถทำได้ผ่านการตั้งค่าโมดูล> โมดูล


1

สำหรับฉันแล้วโครงการถูกรวบรวมนอกโครงการ ฉันแค่เปลี่ยนเส้นทาง สำหรับการเปลี่ยนเส้นทาง (ฉันใช้ mac)

  • ไปที่ไฟล์ -> โครงสร้างโครงการ
  • ไปที่โมดูลทางด้านซ้าย
  • เลือกพา ธ , เลือกปุ่มตัวเลือก (ใช้พา ธ เอาต์พุตโมดูลการคอมไพล์)
  • ให้เส้นทางออกและทดสอบเส้นทางออกที่อยู่ในโครงการของคุณ
  • ยกเลิกการเลือกยกเว้นเส้นทางเอาต์พุต
  • ไปที่ไฟล์ -> คลิกที่ทำให้แคชใช้ไม่ได้และเริ่มต้นใหม่

1

ในกรณีของฉันปัญหาได้รับการแก้ไขโดยไปที่build.gradleการเปลี่ยนแปลงของฉัน

dependencies {
    testImplementation 'junit:junit:4.12'
}

ถึง

dependencies {
    testCompile 'junit:junit:4.12'
}

สิ่งนี้ช่วยฉันด้วยเช่นกันอย่างน่าประหลาดใจดูเหมือนว่ามันจะบังคับให้คอมไพล์ใหม่ พยายามทำความสะอาด / แคชหลายครั้งก่อนโดยไม่ได้รับความช่วยเหลือ
Dieter Menne

สำหรับสิ่งที่คุ้มค่าปัญหาสำหรับฉันได้รับการแก้ไขเช่นเดียวกับวิธีแก้ปัญหาที่ฉันเสนอข้างต้น อย่างไรก็ตามเหตุผลก็คือฉันใช้ปลั๊กอินที่ไม่สนับสนุนคำสั่ง 'การนำไปใช้' ดังนั้นฉันขอแนะนำให้คุณอาจต้องการดูว่าบางปลั๊กอินของโครงการของคุณมีการปรับปรุงเช่นกัน บางทีวิธีที่ดีกว่าคือการอัปเดตปลั๊กอินเนื่องจาก Gradle ต้องการเลิกใช้คำสั่ง "คอมไพล์"
bremen_matt

1

ฉันลองใช้วิธีแก้ไขทั้งหมด แต่ไม่มีวิธีใดช่วยได้ ในตอนท้ายฉันรันการทดสอบในโหมดแก้ไขข้อบกพร่องและ .... มันเริ่มทำงาน อาจล้างแคชของ maven บางส่วน มันยากที่จะพูด มันได้ผล. ลองmvn test -X


1

เพียงคลิกปุ่มขวาของเมาส์บนไฟล์ในหน้าต่างโครงการและเลือก

"รันYourTest "

ทุกอย่างเพิ่งเริ่มตกลงตอนนี้อาจเป็นเพราะการกำหนดค่าการทำงานที่ผิดพลาดกำลังถูกสร้างใหม่อีกครั้ง


1

สิ่งนี้สามารถเกิดขึ้นได้ (อย่างน้อยหนึ่งครั้งสำหรับฉัน;) หลังจากติดตั้งปลั๊กอิน IntelliJ และปลั๊กอิน IntelliJ เวอร์ชันใหม่ยังไม่ได้อัปเดต

คุณอาจต้องทำด้วยตนเองCheck for updates…จากเมนูวิธีใช้ IntelliJ


1

ในโครงสร้างโครงการ Maven ของคุณ src / main / java คลิกขวาที่ไดเรกทอรี java และเลือกตัวเลือกทำเครื่องหมายไดเรกทอรีเป็น -> รากแหล่งที่มา

ทำเช่นเดียวกันกับไดเรกทอรีทดสอบดังนั้น: src / test / java คลิกขวาที่ไดเรกทอรี java และเลือกตัวเลือกทำเครื่องหมายไดเรกทอรีเป็น -> รากแหล่งทดสอบ

ทำงานให้ฉัน :-)


1

ทำตามขั้นตอนด้านล่างใน Intellij (พร้อมภาพหน้าจอเพื่อความเข้าใจที่ดีขึ้น):

  1. ไปที่ไฟล์ -> โครงสร้างโครงการ

ป้อนคำอธิบายรูปภาพที่นี่

  1. นำทางไปยังโมดูลและตอนนี้เลือกโมดูลซึ่งไฟล์ทดสอบ Junit ของคุณมีอยู่และเลือกปุ่มตัวเลือก "ใช้โมดูลผลลัพธ์เส้นทางการคอมไพล์"

  2. พูดถึงเส้นทางโฟลเดอร์ของคลาสที่เกี่ยวข้องคล้ายกับภาพหน้าจอที่แนบมา

ป้อนคำอธิบายรูปภาพที่นี่

  1. สนใจสมัครและโอเค สิ่งนี้ได้ผลสำหรับฉัน!

0

ปัญหาเดียวกันที่นี่โดยใช้ IDEA 15.0.6 และไม่มีอะไรช่วยยกเว้นเมื่อฉันเปลี่ยนชื่อแพคเกจคลาสการทดสอบอยู่หลังจากนั้นฉันเปลี่ยนชื่อมันกลับเป็นชื่อเดิมและยังใช้งานได้ดังนั้นการดำเนินการเปลี่ยนชื่ออาจล้างแคชบางส่วน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.