необходимо пройти TC
Использование:
junit 4.12
jmockit 1.54
Принятие JDK 21
Код тестового примера:
Код: Выделить всё
public class UTBOMRetrievalDAO {
@Tested
BOMRetrievalDAO bomRetrievalDAO;
@Injectable
ServerContext serverContext;
@Mocked
Logger mockedLogger;
@Before
public void setup() {
bomRetrievalDAO = new BOMRetrievalDAO(serverContext, 1L, 1L, true, true);
}
@After
public void teardown() {
bomRetrievalDAO = null;
}
Код: Выделить всё
public class BOMRetrievalDAO extends InvOptRetrievalDAO {
private static final Logger logger = LoggerFactory.getLogger(BOMRetrievalDAO.class);
private int numProcessFromSourceRecord = 0;
private int processToSinkCount = 0;
private CProcessFromSourceRecord cProcessFromSourceRecord = null;
int exceptionCount = 0;
private Date[] dateArray = null;
private long[] durations = null;
private boolean validateData = false;
private boolean isIO = false;
public BOMRetrievalDAO(ServerContext srvrContext, long processID, long batchNum, boolean validateData, boolean isIO) {
this.srvrContext = srvrContext;
this.processID = processID;
this.batchNum = batchNum;
this.numProcessFromSourceRecord = 0;
this.processToSinkCount = 0;
this.cProcessFromSourceRecord = new CProcessFromSourceRecord();
this.validateData = validateData;
this.isIO = isIO;
}
}
В тестируемом классе нет конструктора, который может быть удовлетворен доступными протестированными/внедряемыми значениями. />
java.lang.IllegalArgumentException: в тестируемом классе нет конструктора, который может быть удовлетворен доступными тестируемыми/вводимыми значениями
public com.xxx.BOMRetrivalDAO(com.manu.scpoweb.common.datasource.ServerContext, long, long, boolean, boolean)
игнорируется, поскольку нет проверенного/вводимого значения найдено для параметра "srvrContext"
Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-injecta
Мобильная версия