tworzę zestaw testowy dla mojego Android i mają tę metodę konfiguracjiRunning Android Testy setup() jest wywoływana wielokrotnie
private static final String TAG_NAME = "TESTING_SUITE";
public TestingMusicDAO musicDAO;
public List<Song> songs;
public Instrumentation instr;
MusicService musicService;
@Override
public void setUp() throws Exception {
instr = this.getInstrumentation();
Log.d(TAG_NAME, "Setting up testing songs");
musicDAO = new TestingMusicDAO(instr.getContext());
musicService = new MusicServiceImpl(musicDAO);
musicDAO.getAllSongsFromFile();
songs = musicDAO.getAllSongs();
for(Song song : songs)
Log.d(TAG_NAME, song.toString());
}
I wtedy te testy, które są tworzone przez narzędzie Pythona od A plik tekstowy
public void test1() {
List<Song> testPlaylist;
String testArtist = ("The Beatles");
String actualArtist = ("TheBeatles");
testPlaylist = testingPlaySongsByKeyword(testArtist);
if(testPlaylist.isEmpty()){
fail("No Songs Were Found");
} else {
for(Song loopsongs : testPlaylist){
if (!(loopsongs.getArtist().equals(actualArtist))){
fail("Song Doesnt Contain the artist" + actualArtist + "... Contains ->" + loopsongs.getArtist());
}
}
}
}
i za każdym razem, gdy jeden z nich zostanie nazwany, muzykaDAO zostanie zregenerowana. Jak zatrzymać metodę ustawiania przed nazwaniem
Więc chciałbym utworzyć konstruktora klasy testu? –
To jedyna funkcja, o której wiem, że zostanie uruchomiona tylko raz. Lepiej pisać testy tak, jak tego oczekuje JUnit - w końcu będzie to mniej bolesne. –
W porządku po prostu boleśnie wolno wygenerował bazę danych dla każdego testu –