2009-07-13 21 views
8

Tüm deneme testlerimi eski yerine yerleştirmeyi "hareket ettirdiğimde" gibi görünüyor. Çoğunlukla "paket" görünür sınıflarını test ederim, böylece SUT başka bir pakete geçerse görünmez olurlar.Intellij Idea Junit testleri ile "Refactoring'i taşıyın"

Testleri el ile hareket ettiriyor musunuz?

+0

Korkarım ki sorunuzu anlayamıyorum. Biraz daha bilgi verebilir misiniz? Bu soruya cevap vermenize yardımcı olabilir (yorum yapabilmeniz için +1) – guerda

+0

varsayalım xxx paketinde AAA sınıfı var. Sınıfın hedefi src/xxx/AAA.java olduğunu ve test/xxx/AAATest.java adresinde bir test yaptığımı varsayalım. Yani, AAA paketini yyy paketine taşıdığımda test kaldığım xxx paketinde kalıyorum. – dmitrynikolaev

cevap

2

sana 4 seçenek vardır:!.

  1. iki dosyayı seçin sol "Paket" görünümüne gidin ve sonra F6 vurmak o shoul d ikisini de doğru yere taşıyın.

  2. Refactor'unuzu yapmadan önce sınıfı geçici olarak açın ve daha sonra tekrar değiştirin.

  3. Önce testi hareket ettirmeyi deneyin. Bağımlılıklardan herhangi birini kırmaktan kaçındığını hatırlıyorum. Ayrıca onunla testi getirmek için Taşı Refactor yamaları -

  4. bir eklenti (İkisiyle de yüklü vardı ben toggleTest veya unitTest olduğunu düşünüyorum) vardır. Harika çalıştı. Maalesef, bunlar en son IDEA ile çalışmayabilir.

0

Açıkladığınız davranış tamamen normaldir. senin ATest.java yılında

src/package1/A.java 
test/package1/ATest.java 

bir import package1.A; var. senin refactored sonra
, bu şuna benzer: nerede olduğunu

src/package2/A.java 
test/package1/ATest.java 

test kodu kaldı. Test kodunu değiştirmediniz, ancak kaynak kodunuz. Başka herhangi bir klasörü etkilememelidir (örneğinizde olduğu gibi).
ATest.java'daki başvuru şimdi import package2.A; olmalıdır. Aksi takdirde, refactoring yanlış gitti.

Yine de, farklı bir dizinde olsalar bile, testleriniz çalışmalıdır. Çünkü içe aktarma yöntemi, içe aktarma yöntemiyle değiştirildi. Eğer klasör yapısını temizlemek istiyorsanız

, el paket test/package1 Ben, paket package1 ve package2 olduğunu biliyoruz (test/package2 için yeniden adlandırmak var ama klasör yapısı odaklanmayı güçlendirmek istiyoruz.

Ben size yardımcı olabilecek umut