如何使函数的单元测试使用微调器选择位置



>我有函数 测试项目选定位置 对于微调器 我想做单元测试这是我想测试的功能示例

public boolean isGenderValid() {
    return (genderSpinner.getSelectedItemPosition() != 0);
}

您可以通过创建微调器类的模拟并将其注入到要测试的类中来实现。

例如:

public class SpinnerStub extends Spinner {
     public int getSelectedItemPosition() {
          return 1;
     }
}

然后,在测试中创建SpinnerStub,并将其设置为要测试的类的genderSpinner。我不熟悉 android 控件,但我认为也有一种方法可以设置所选项目。您还可以在存根中覆盖该值,并使用它来getSelectedItemPosition()返回您之前设置的值。

实际的单元测试可能如下所示:

@Test
public void whenSelectionIsValid_isGenderValidShouldReturnTrue() {
      YourClass sut = new YourClass();
      SpinnerStub spinnerStub = new SpinnerStub();
      sut.setSpinner(spinnerStub);
      assertTrue(sut.isGenderValid());
}

最新更新