Zachowanie, które opisujesz, jest całkowicie normalne.
src/package1/A.java
test/package1/ATest.java
W swojej ATest.java
Jest takie import package1.A;
.
Po Twój refactored, wygląda to tak: Kod
src/package2/A.java
test/package1/ATest.java
Test tam, gdzie był. Nie przeniosłeś kodu testowego, ale kod źródłowy. Nie powinno to wpływać na żadne inne foldery (jak w twoim przykładzie).
Numer referencyjny w ATest.java
musi teraz być import package2.A;
. W przeciwnym razie refaktoryzacja poszła nie tak.
Mimo to twoje testy powinny zadziałać, nawet jeśli znajdują się w innym katalogu. To dlatego, że import został zmieniony metodą refaktoryzacji.
Jeśli chcesz oczyścić swoją strukturę folderów, musisz ręcznie zmienić nazwę pakietu test/package1
do test/package2
(wiem, pakiet jest package1
i package2
ale chcę wzmocnić nacisk na struktury folderów.
mam nadzieję, że mogę pomóc
Obawiam się, że nie mogę zrozumieć Twojego pytania. Czy mógłbyś podać więcej informacji? To może pomóc w udzieleniu odpowiedzi na to pytanie (+1, aby móc komentować) – guerda
Załóżmy, że mam klasę AAA w pakiecie xxx. Przeznaczeniem klasy jest src/xxx/AAA.java i przypuśćmy, że test znajduje się w teście/xxx/AAATest.java Tak więc, kiedy przenoszę klasę AAA do pakietu yyy, mój test pozostaje w pakiecie xxx. – dmitrynikolaev