Eclipse üzerinde test yaparken -D Sistem özellikleri nasıl geçilir?


95

Windows üzerinde Eclipse üzerinde geliştirme yapıyorum ve Code Unix üzerinde konuşlandırılıyor. System.getProperty ("key") kullanarak sistem özelliği değerlerini alıyorum ... Kodu değiştirmek zorunda kalmamak ve hata ayıklama için Eclipse üzerinde çalışması için bunu Eclipse'de nasıl geçirebilirim?

Herhangi bir öneri?

Yanıtlar:


135

Çalıştır -> Yapılandırmaları çalıştırın, projeyi seçin, ikinci sekme: "Bağımsız Değişkenler". Üstteki kutu programınız içindir, alttaki kutu VM argümanları içindir, örn -Dkey=value.


1
bir android uygulamasını çalıştırmaya çalışıyorsanız bu nerede?
user678392

neden önek olarak 'D' kullanmam gerekiyor?
Mantikor

28
Benim gibi kalın olarak iseniz - -D argümanlar gitmek alt VM argümanlar için kutu , değil programınızın args için üst kutusunda. / sigh
ruffin

2
Üst kutu, yönteme String[] argsgeçirilenler içindir main.
jaco0646

7
Bunun varsayılan olarak gerçekleşmesini ayarlamanın herhangi bir yolu var mı, böylece birçok test için bunu tekrar tekrar manuel olarak girmeniz gerekmez mi?
Stewart

44

Tutulmadan kullanmak için java kullanabilirsin System.properties:

  1. -Dlabel="label_value"Testin VM argümanlarını şu şekilde ekleyin Run Configuration:

eclipse_vm_config

  1. Ardından testi çalıştırın:

    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. Son olarak testi geçmeli ve bunu konsolda vermelidir:

    label_value
    

13

Çalıştırma yapılandırmanıza komut satırı argümanları ekleyebilirsiniz. Sadece çalıştırma yapılandırmasını düzenleyin ve VM Değişkenler Kutusu'na -Dmyprop = değer (veya her neyse) ekleyin.


4
Bağımsız Değişkenler sekmesi altında "komut satırı bağımsız değişken kutusu" derken "Program Bağımsız Değişkenleri kutusu" nu kastettiyseniz - Çalışmıyor! Yukarıda Bombe tarafından belirtildiği gibi "VM Argümanları Kutusu" na girilmelidir.
Devang Kamdar

4

konfigürasyonu çalıştır -> argümanlar -> vm argümanları

(Debug Configuration-> Arguments-> VM Arguments altındaki hata ayıklama yapılandırmasına da yerleştirilebilir)


1

Bu Junit için çalışacak. TestNG için aşağıdaki komutu kullanın

-ea -Dmykey="value" -Dmykey2="value2"

0

Evet bu yol:

Programınıza sağ tıklayın, çalıştır -> yapılandırmayı çalıştır ve ardından vm bağımsız değişkenini seçin

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

Ardından başvurabilir ve kapatabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.