Ich werde eine Methode erstellen, die große ArrayList analysieren wird. und ich möchte Testmethode in JUnit schreiben. Die Größe von ArrayList könnte bis zu zwei Millionen erreichen. Ich denke, dass es keine gute Idee ist, sich mit der Datenbank zu verbinden und Daten von dort zur Analyse zu bekommen, da ein Test kein Komponententest ist, wenn er mit der Datenbank spricht. Wie soll ich mich in dieser Situation verhalten? Oder wie groß werden Daten im Allgemeinen durch Unit-Tests analysiert?Wie man große ArrayList von Mockito verspotten?
Beispiel:
public void analyze(List<Double> list) {
double n1, n2, n3;
for (int i = 3; i < list.size(); i += 3) {
n1 = list.get(i - 3);
n2 = list.get(i - 2);
n3 = list.get(i - 1);
if (/* Some condition here using n1, n2, n3*/) {
list.remove(i);
}
}
}
@Test
public void analyzeTest() {
List<Double> list = new ArrayList<Double>();
// To add 1M data here.
analyze(list);
assertEquals(list, expected);
}
Bitte Kommentar hinterlassen, wenn Sie negativ wählen. – Vanguard
Warum brauchst du überhaupt einen Spott? Es sollte in Ordnung sein, einfach eine normale 'ArrayList' zu erstellen und sie während der Testeinrichtung manuell mit einer Million Einträge zu füllen. –
@DanielPryden Ich wollte nur meinen Komponententest von der Datenbank isolieren. und ich wollte nur sicher sein, ob es richtig ist, in diesem Fall eine Verbindung zur Datenbank herzustellen oder keine Verbindung herzustellen. – Vanguard