Я столкнулся с этой странной проблемой, которая возникает, когда я пытаюсь запустить модульный тест для одного из моих классов приложения: «пакет не существует».
Если я запускаю приложение, я получаю ту же ошибку, но если я снова нажимаю «запустить», оно компилируется и работает нормально, я также сделал еще один модульный тест для другого класса, и тот же процесс повторяется, я запускаю его в первый раз, получаю ошибка, запустите его еще раз, и он компилируется. Но по какой-то причине, когда я запускаю этот новый модульный тест, в частности, я получаю ту же ошибку и не компилируется.
Вот конкретный код, вызывающий ошибку:
package chess_game;
import org.junit.Test;
import pieces.*;
import static org.junit.Assert.*;
public class GameTest {
@Test
public void enPassantLegalMoves(){
...
Piece bking = new King(PieceColour.BLACK);
bd[3][2].setPiece(bking);
Piece bpawn = new Pawn(PieceColour.BLACK);
bpawn.setHasMovedAlready(true);
bd[4][4].setPiece(bpawn);
Piece wking = new King(PieceColour.WHITE);
bd[7][4].setPiece(wking);
Piece wpawn = new Pawn(PieceColour.WHITE);
wpawn.setHasMovedAlready(true);
bd[4][3].setPiece(wpawn);
...
}
}
Примечание: Я не знаю, актуально ли это, но я использую студию Android, и IDE не дает никаких предупреждений, кроме ошибки компиляции.
Заранее спасибо.
Проверьте этот документ, это может вам помочь developer.android.com/training/testing
А это более конкретно для вас developer.android.com/training/testing/unit-testing/…
@crammeur я использую JUnit4. Я не знаю, имеет ли это значение, но в этом тесте, в частности, я тестирую только "нормальную Java" и ничего не связанное с Android.
Я вижу структуру вашего пакета и думаю, что это причина проблемы, потому что они не могут получить доступ к другому пакету.
@crammeur, мне нужно переместить свой пакет с деталями?
Попробуйте поместить пакет pieces в свой пакет chess_game. Не chess_game (test)
@crammeur да, проблема решена, больше никаких ошибок. Если вы хотите дать такой ответ, я отмечу его как правильный. Благодарность
Спасибо и за то, что улучшили мою точку зрения.




Думаю, это структура проекта.
вам нужно поместить свой пакет pieces в пакет chess_game. Нет в chess_game (test)
Какой JUnit вы используете