Чтобы прокомментировать мой комментарий, я считаю, параметризованные тесты - это то, что вы ищете. Вкратце, параметризованный тест может запускать те же тесты / утверждения для набора тестовых данных.
Проблема в том, что этот код выполняет весь файл .xlsx как один тест
когда мне нужно взять каждый ряд в качестве отдельного теста.
Если это так, вы можете выполнить параметризованный тест, где ваши параметры заполняются, читая и анализируя ваш .xlsx. Вот пример того, что я имею в виду:
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
@RunWith(Parameterized.class)
public class SampleTest {
@Parameterized.Parameters
public static Collection<Object[]> data() throws Exception{
//TODO: Instead of hard coding this data, read and parse your .xlsx however you see fit, and return a collection of all relevant values. These will later be passed in when constructing your test class, and then can be used in your test method
return Arrays.asList(new Object[][] {
{ 1,1,2 }, { 2,2,4 }, { 3,3,6 }, { 4,4,8 }, { 5,5,10 }
});
}
private int intOne;
private int intTwo;
private int expected;
public SampleTest(final int intOne, final int intTwo, final int expected) {
this.intOne = intOne;
this.intTwo = intTwo;
this.expected = expected;
}
@Test
public void test() {
System.out.println("Verifying that " + this.intOne + " and " + this.intTwo + " equals " + this.expected);
Assert.assertEquals(this.intOne + this.intTwo, this.expected);
}
}
Выполнение этой команды дает набор из 5 успешных тестов и вывод:
Verifying that 1 and 1 equals 2
Verifying that 2 and 2 equals 4
Verifying that 3 and 3 equals 6
Verifying that 4 and 4 equals 8
Verifying that 5 and 5 equals 10