จะส่งผ่านคุณสมบัติ -D System ในขณะทดสอบบน Eclipse ได้อย่างไร?


95

ฉันกำลังพัฒนาบน Eclipse บน Windows และ Code ได้รับการปรับใช้บน Unix ฉันกำลังดึงค่าคุณสมบัติของระบบโดยใช้ System.getProperty ("key") ... ฉันจะส่งผ่านสิ่งนี้ใน Eclipse ได้อย่างไรเพื่อที่ฉันจะได้ไม่ต้องแก้ไขโค้ดและทำงานบน Eclipse สำหรับการดีบัก?

ข้อเสนอแนะใด ๆ ?

คำตอบ:


135

เรียกใช้ -> เรียกใช้การกำหนดค่าเลือกโครงการแท็บที่สอง:“ อาร์กิวเมนต์” กล่องด้านบนสำหรับโปรแกรมของคุณกล่องด้านล่างสำหรับข้อโต้แย้ง VM -Dkey=valueเช่น


1
ถ้าคุณพยายามเรียกใช้แอพพลิเคชั่น Android อยู่ที่ไหน
user678392

ทำไมต้องใช้ 'D' เป็นคำนำหน้า?
มันติคอร์

28
หากคุณหนาเป็นฉัน - ข้อโต้แย้ง -D ไปในด้านล่างกล่องสำหรับอาร์กิวเมนต์ VM , ไม่ได้ในกล่องด้านบนสำหรับ args ของโปรแกรม / ถอนหายใจ
ruffin

2
ช่องด้านบนมีไว้สำหรับString[] argsส่งผ่านไปยังmainเมธอด
jaco0646

7
มีวิธีใดบ้างที่จะตั้งค่านี้ให้เกิดขึ้นโดยค่าเริ่มต้นคุณจึงไม่ต้องป้อนสิ่งนี้ซ้ำ ๆ สำหรับการทดสอบจำนวนมากด้วยตนเอง
Stewart

44

คุณสามารถใช้ java System.propertiesเพื่อใช้จาก eclipse คุณสามารถ:

  1. เพิ่ม-Dlabel="label_value"อาร์กิวเมนต์ VM ของการทดสอบRun Configurationดังนี้:

eclipse_vm_config

  1. จากนั้นทำการทดสอบ:

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
    
  2. ในที่สุดก็ควรผ่านการทดสอบและส่งออกสิ่งนี้ในคอนโซล:

    label_value
    

13

คุณสามารถเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งลงในคอนฟิกูเรชันการรันของคุณ เพียงแค่แก้ไขการกำหนดค่าการรันและเพิ่ม -Dmyprop = value (หรืออะไรก็ได้) ใน VM Arguments Box


4
ถ้าคุณหมายถึง "Program Arguments box" เมื่อคุณพูดว่า "command-line args box" ใต้แท็บ Arguments - ไม่ทำงาน! ต้องป้อนใน "VM Arguments Box" ตามที่ Bombe กล่าวไว้ข้างต้น
Devang Kamdar

4

รันการกำหนดค่า -> อาร์กิวเมนต์ -> อาร์กิวเมนต์ vm

(สามารถวางไว้ในการกำหนดค่าการดีบักภายใต้การกำหนดค่าดีบัก -> อาร์กิวเมนต์ -> อาร์กิวเมนต์ VM)



0

ใช่นี่คือวิธี:

คลิกขวาที่โปรแกรมของคุณเลือก run -> run configuration จากนั้นบนอาร์กิวเมนต์ vm

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

จากนั้นคุณสามารถสมัครและปิด

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