คำถามติดแท็ก junit4

เวอร์ชัน 4 ของเฟรมเวิร์กการทดสอบ Junit Java Unit ยอดนิยม


2
@RunWith (MockitoJUnitRunner.class) กับ MockitoAnnotations.initMocks (สิ่งนี้)
ในขณะที่เขียนการทดสอบ jUnit4 ใหม่ผมสงสัยว่าจะใช้@RunWith (MockitoJUnitRunner.class) หรือMockitoAnnotations.initMocks (นี้) ฉันสร้างการทดสอบใหม่และวิซาร์ดสร้างการทดสอบโดยอัตโนมัติกับ Runner Javadocs สำหรับ MockitoJUnitRunner ระบุดังต่อไปนี้: เข้ากันได้กับ JUnit 4.4 ขึ้นไปนักวิ่งรุ่นนี้จะเพิ่มพฤติกรรมต่อไปนี้: เริ่มต้น mocks ที่มีคำอธิบายประกอบด้วย Mock ดังนั้นจึงไม่จำเป็นต้องใช้ MockitoAnnotations.initMocks (Object) อย่างชัดเจน Mocks เริ่มต้นก่อนวิธีการทดสอบแต่ละครั้ง ตรวจสอบการใช้งานกรอบหลังจากวิธีการทดสอบแต่ละวิธี ยังไม่ชัดเจนสำหรับฉันว่าการใช้ Runner มีข้อได้เปรียบเหนือวิธีการinitMocks () ที่ฉันใช้ในอดีตหรือไม่ ความคิดเห็นหรือลิงก์ใด ๆ จะได้รับการชื่นชม!
119 java  junit4  mockito 

6
Mockito: จำลองการเริ่มต้นฟิลด์ส่วนตัว
ฉันจะจำลองตัวแปรฟิลด์ที่กำลังเริ่มต้นในบรรทัดได้อย่างไร class Test { private Person person = new Person(); ... public void testMethod() { person.someMethod(); ... } } ที่นี่ฉันต้องการจำลองperson.someMethod()ขณะทดสอบTest.testMethod()วิธีการที่ฉันต้องการจำลองการเริ่มต้นpersonตัวแปร เบาะแสใด ๆ ? แก้ไข:ฉันไม่ได้รับอนุญาตให้แก้ไขคลาสบุคคล

30
ไม่พบการทดสอบกับนักวิ่งทดสอบ 'JUnit 4'
การทดสอบ Java ของฉันทำงานได้ดีจาก Eclipse แต่ตอนนี้เมื่อฉันเปิดการทดสอบอีกครั้งจากเมนูเรียกใช้ฉันจะได้รับข้อความต่อไปนี้: No tests found with test runner 'JUnit 4' ใน.classpathไฟล์ฉันมีjarไฟล์ทั้งหมดและในตอนท้ายมี: <classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> <classpathentry kind="output" path="bin"/> </classpath> ฉันจะแก้ไขข้อผิดพลาดนี้และเรียกใช้การทดสอบอีกครั้งได้อย่างไร
106 java  eclipse  junit  junit4 

7
ฉันจะยืนยันว่า Iterable มีองค์ประกอบที่มีคุณสมบัติบางอย่างได้อย่างไร
สมมติว่าฉันต้องการทดสอบหน่วยวิธีด้วยลายเซ็นนี้: List<MyItem> getMyItems(); สมมติว่าMyItemเป็น Pojo ที่มีคุณสมบัติหลายอย่างซึ่งหนึ่งในนั้น"name"เข้าถึงได้ผ่านทางgetName(). สิ่งที่ฉันสนใจเกี่ยวกับการตรวจสอบก็คือList<MyItem>หรือใด ๆ ที่IterableมีสองMyItemอินสแตนซ์ซึ่ง"name"คุณสมบัติมีค่า"foo"และ"bar". หากคุณสมบัติอื่นไม่ตรงกันฉันไม่สนใจวัตถุประสงค์ของการทดสอบนี้จริงๆ หากชื่อตรงกันแสดงว่าสำเร็จแล้ว ฉันต้องการให้เป็นซับเดียวถ้าเป็นไปได้ นี่คือ "ไวยากรณ์หลอก" บางส่วนที่ฉันอยากจะทำ assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"}); Hamcrest จะดีสำหรับสิ่งประเภทนี้หรือไม่? ถ้าเป็นเช่นนั้นไวยากรณ์หลอกของฉันจะเป็นอย่างไร

4
จำลองวิธีการคงที่จากหลายคลาสโดยใช้ PowerMock
ฉันรู้วิธีจำลองวิธีการแบบคงที่จากคลาสโดยใช้ PowerMock แต่ฉันต้องการจำลองวิธีการแบบคงที่จากหลายคลาสในคลาสทดสอบโดยใช้ JUnit และ PowerMock ใครช่วยบอกทีว่าทำได้ไหมและต้องทำอย่างไร
104 java  junit4  powermock 

5
จะเรียกใช้การทดสอบ JUnit ด้วย Gradle ได้อย่างไร
ขณะนี้ฉันมีไฟล์build.gradleต่อไปนี้: apply plugin: 'java' sourceSets { main { java { srcDir 'src/model' } } } dependencies { compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar') runtime fileTree(dir: 'libs', include: '*.jar') } นี้build.gradleไฟล์สำหรับการเก็บข้อมูลของฉันที่นี่ ไฟล์ทั้งหมดของหลักของฉันอยู่ในsrc / รุ่น /และการทดสอบของตนอยู่ในการทดสอบ / รุ่น ฉันจะเพิ่มวิธี JUnit 4 พึ่งพาได้อย่างถูกต้องและเรียกใช้การทดสอบผู้ที่อยู่ในโฟลเดอร์ของการทดสอบ / รุ่น ?

11
ทดสอบข้อยกเว้นที่คาดไว้ใน Kotlin
ใน Java โปรแกรมเมอร์สามารถระบุข้อยกเว้นที่คาดไว้สำหรับกรณีทดสอบ JUnit เช่นนี้: @Test(expected = ArithmeticException.class) public void omg() { int blackHole = 1 / 0; } ฉันจะทำสิ่งนี้ใน Kotlin ได้อย่างไร ฉันได้ลองใช้รูปแบบไวยากรณ์สองรูปแบบแล้ว แต่ไม่ได้ผล: import org.junit.Test // ... @Test(expected = ArithmeticException) fun omg() Please specify constructor invocation; classifier 'ArithmeticException' does not have a companion object @Test(expected = ArithmeticException.class) fun omg() …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.