java—修改使用junit5模拟的私有变量值

niwlg2el  于 2021-07-11  发布在  Java
关注(0)|答案(0)|浏览(192)

我正在使用junit5为下面的类编写junit测试用例。

class GenerateData{

private DataRequest request;

public GenerateData setUpData(){
request = generateTheRequest();
return this;
}

public GenerateData generateOrderNumber(int num){
  if(num!=null){
    request.getOrder().add(num);
   }
   return this;
   }
}

下面是上述类的junit测试用例。

class GenerateDataTest{
@InjectMocks
GenerateData data;

DataRequest dataRequest;

@BeforeEach
void setUp{
  MockitoAnnotations.initMocks(this);
  dataRequest = GenerateData.generateTheRequest();
  ReflectionTestUtils.setField(data, "request", dataRequest);
  }

  @Test
  void generateOrderNumberTest(){
     //how to mock the request object here which is a private variable in DataRequest class
  }

  }

如何模拟和编写方法generateordernumber的测试用例。任何输入都会有帮助。另外,为了模拟私有变量,我使用了reflectionutils。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题