我创建一个测试套件,我的Android应用程序,并使用这种设置方法运行Android的测试设置()方法被调用多次
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());
}
然后具有由蟒蛇工具从创建这些测试文本文件
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());
}
}
}
}
并且每当其中一个被称为musicDAO被重新生成时。我怎样才能阻止设置方法被调用
所以我会创建一个测试类的构造函数? –
这是我知道的唯一功能将只运行一次。你最好是按照jUnit期望的方式编写测试,但最终会变得不那么痛苦。 –
好吧只是痛苦地缓慢地为每个测试生成一个数据库 –