JUnit 测试 if else case

Int*_*eep 3 java testing junit junit4 android-testing

如何将测试写入当前方法?我使用 jUnit 4。

   public void setImage() {
        if(conditionOne){
            myView.setImageOne();
        } else {
            myView.setImageTwo();
        }
    }
Run Code Online (Sandbox Code Playgroud)

dev*_*per 6

您需要编写两个测试来涵盖以下两种情况:

import org.junit.Test;

public class SetImageTest {

    @Test
    public void testSetImageForConditionOne() {
        //write test to make conditionOne true
    }

    @Test
    public void testSetImageForElseCondition() {
        //write test to make conditionOne false
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这不是答案 (5认同)
  • 被测方法和测试方法之间没有一对一的映射关系。一个方法可能有 n 个测试方法来测试它在不同参数下的功能。在javaguy分享的代码中,该方法有两个对应的测试方法,一个用于测试if块是否正常工作,另一个用于测试else块是否正常工作。 (4认同)
  • 你能详细说明你的问题吗? (3认同)
  • @TeodorKolev但是您没有说明到目前为止您尝试了什么以及测试此方法的实际问题是什么。请参阅[如何提问](http://stackoverflow.com/help/how-to-ask)。 (2认同)