Установите курсор на имя класса, нажмите Alt + Введите и выберите «Создать тест» во всплывающем меню.Затем проверьте все методы, которые вы хотите протестировать, и Idea создаст для вас тестовый класс со всеми заглушками методов.
UPD: Я хотел бы добавить, что нет никакой причины делать ваши методы статичными вообще.Просто публично:
public int findJewelsInStones(String J, String S) {
...
}
Тогда ваш тестовый код должен выглядеть примерно так:
@Test
public void testFindJewelsInStones() throws Exception {
// Given
JewelsAndStones jewelAndStones = new JewelsAndStone();
String J = "aA";
String S = "aaAbbbb";
int expected = 3;
// When
int result = jewelAndStones.findJewelsInStones(J, S);
// Then
assertEquals(expected, result);
}
В этом случае вам не нужно выполнять статический импорт методов.
В дополнение к этому вы также можете использовать подход, основанный на данных.Поскольку валидатор leetcode использует тестовые примеры для проверки ваших методов, вы также можете положиться на эти тестовые примеры.Вот небольшой пример параметризованного теста с сопоставителями подколенного сухожилия:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(Parameterized.class)
public class JewelsAndStonesTest {
private String J;
private String S;
private int expected;
public JewelsAndStonesTest(String J, String S, int expected) {
this.J = J;
this.S = S;
this.expected = expected;
}
@Parameterized.Parameters(name = "{index}: J=\"{0}\", S=\"{1}\", expected result: {2}")
public static Collection<Object[]> testCases() {
return Arrays.asList(new Object[][] {
{"aA", "aaAbbb", 3},
{"z", "ZZ", 0}
// add more test cases here: positive and negative
});
}
@Test
public void jewelsAndStonesTestSuite() {
// Given
JewelsAndStones jewelAndStones = new JewelsAndStone();
// When
int result = jewelAndStones.findJewelsInStones(J, S);
// Then
assertThat(result, is(equalTo(expected)));
}
}