TC need to pass
Using:
junit 4.12
jmockit 1.54
Adopt JDK 21
test case Code:
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 = loggerfactory.getlogger (bomretrievaldao.class);
private numprocessfromsourcercore = 0; br /> prifactScount = 0; br /> prifactScount = 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;
}
Ошибка:
no Constructor в тестируемом классе, который может быть удовлетворен доступными тестируемыми/инъекционными значениями public com.xxx.dao.bomretrievaldao (com.xx.datasource.serverconceptrectrec Параметр "srvrContext" < /p>
Java.lang.illegalargumentException: нет конструктора в тестируемом классе, который может быть удовлетворен доступными тестируемыми /инъекционными значениями
public com.xxx.bomretrievaldao (com.manu.scpoweb.common.dataSource.serverceectex, longean, longean, longean, longean, longean, longean, longean, longean. /> не учитывается, потому что для параметра "srvrcontext"
Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-injecta