Используйте collections.Counter
для подсчета каждого элемента и выбирайте только те, чье количество превышает 1:
from collections import Counter
subjects2 = ['hi', 'hi', 'bi', 'ki', 'si', 'bi', 'li']
nosubjects = [x for x, i in Counter(subjects2).items() if i > 1]
print(nosubjects)
# ['hi', 'bi']
Я не испытан у муравья - таким образом, я не использую его для тестирования его прямо сейчас.
Поиск Интернета, кажется, что я перепутываю старый jUnit 3.8 и поведение jUnit 4.0. Попытка теперь способа использовать "новое поведение"
отредактированный:
теперь это работает:
AllTest, измененный на:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(value=Suite.class)
@SuiteClasses(value={TestCase.class})
public class AllTests {
}
TestCase, измененный на:
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class TestCase {
@Test
public void test1 {
assertTrue (tmp.getTermin().equals(soll));
}
}
Наверняка, это не будет работать, так как Вы не говорите набор тестов, каковы Ваши тестовые классы.
Но я задаюсь вопросом, почему Вы не используете "классический путь" к созданию Наборов тестов, который является муравьем с помощью задач Ant jUnit.
Мне тоже пришлось немного разобраться, но я думаю, что это решит вашу проблему:
Вы делаете suite.addTestSuite (TestCase.class), а вам следовало бы выполнил набор тестов .addTest (TestCase.class).
Вы также можете добавить набор тестов в набор тестов, чтобы создать целую иерархию наборов тестов. В этом случае вам придется использовать suite.addTest (). Но учтите, что затем вы используете .suite (), а не .class: suite.addTest (MyTestSuite. suite () )!