TC необходимо пройти < /p>
Использование:
junit 4.12
jmockit 1.54
Принять JDK 21 < /p>
Код тестового случая: < /p>
Код: Выделить всё
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;
}
< /code>
и < /p>
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;
}
}
Нет конструктора в тестируемом классе, который может быть удовлетворен доступными тестируемыми/инъекционными значениями public com.xxx.dao.bomretrievaldao (com.xx.datasource.serverconceptext. был найден для параметра "srvrContext" < /p>
< /blockquote>
Java.lang.illegalargumentException: нет конструктора в тестируемом классе, который может быть удовлетворен доступными тестируемыми /инъекционными значениями
public com.xxx.bomretrievaldao (com.manu.scpoweb.common.datasource.servercontext, Long, Long, Boolean, Boolean)
не учитывается, поскольку не было обнаружено тестируемого/инъекционного значения для параметра "srvrcontext"
Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-injecta