java - 多次调用运行 Android 测试 setUp() 方法

标签 java android eclipse junit4

我正在为我的 android 应用程序创建一个测试套件,并且有这个 setUp 方法

    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() );
     }

然后让这些测试由 python 工具从文本文件创建

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 的设计是 setUp()tearDown() 每次测试一次。如果您希望每个类都完成,请在构造函数中执行。只要确保你没有改变类中的任何东西。每次测试执行一次的原因是为了确保所有测试都以相同的数据开始。

关于java - 多次调用运行 Android 测试 setUp() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14717378/

相关文章:

java - JNI GetDoubleArrayElements 等方法何时将 isCopy 设置为 true 或 false?

java servlet 通过 HTTP 连接提供文件服务

java - react-native run-android 失败,错误为 : Execution failed for task ':app:dexDebug'

android - 按钮并与android bundle 在一起以更改文本,应用程序崩溃

php - Android:使用 SSL/HTTPS 与 PHP 连接到数据库并使用 POST/GET

android - Activity 在旋转更改时重新启动

linux - ant 命令在 Eclipse 中运行,但不能在 linux 命令行中运行

java - Junit 在 Suite 类之间共享外部资源

linux - 当从 CentOS 6.5 中的 Tomcat 7 提供服务时,内联 SVG 无法在 IE9+ 中呈现

java - Intellij 相当于 Eclipse syso