我有一个这样的测试:
@RunWith(MockitoJUnitRunner.class)
public class ColumnsTypesProcessorTest {
@Mock
private List<RowStatisticProcessor> rowProcessorList;
@Mock
private List<CellStatisticProcessor> cellProcessorList;
@InjectMocks
private MetaDataComputer metaDataComputer = new MetaDataComputer();
private MetaDataReader metaDataReader;
private String file;
private String outputFile;
@Before
public void init() {
this.metaDataReader = new MetaDataReader();
}
@Test
public void integerType__shouldOk() throws IOException {
this.file = "src/test/resources/integer-test.csv";
this.outputFile = "src/test/resources/output-integer-test.json";
when(metaDataComputer.inferMetadataForDataFrame(file)).thenReturn(setMetadata(outputFile));
}
但是它会抛出 NPE,因为 rowProcessorList 和 cellProcessorList 没有弄湿,这是什么问题?
你需要初始化我的@Before 方法
Mokito 不知道如何弄湿床单。为了解决这个问题,我对工作表类型对象进行了编码,并将它们添加到构造函数中的工作表中。