Я создаю приложение Java на основе JRE 6. Я использую JUnit 4 для создания параметризованных тестов. Я получаю эту ошибку:Java JUnit Параметрированная ошибка
The annotation @Parameterized.Parameters must define the attribute value
на строке, содержащей аннотацию:
@Parameterized.Parameters
Ниже приведен код, я считаю уместным к этому вопросу:
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import calc.CalculatorException;
import calc.ScientificCalculator;
@RunWith(Parameterized.class)
public class ScientificCalculatorTest extends BasicCalculatorTest{
/** Provides an interface to the scientific features of the calculator under test */
private ScientificCalculator sciCalc;
private double a, b;
@Before
@Override
public void setUp() throws Exception {
sciCalc = new ScientificCalculator();
//Make sure that the basic functionality of the extended calculator
//hasn't been broken.
theCalc = sciCalc;
}
/**
* Constructor. Is executed on each test and sets the test values to each pair in the data sets.
* @param nr1 the first number in the tested pair.
* @param nr2 the second number in the tested pair.
*/
public ScientificCalculatorTest(double nr1, double nr2){
a = nr1;
b = nr2;
}
@Parameterized.Parameters
public static Collection<Object[]> testGenerator() {
return Arrays.asList(new Object[][] {
//General integer values | -/+ combinations
{ -100, -100},
{ -100, 100},
{ 100, -100},
{ 100, 100}
});
}
мне удалось найти некоторые связанные вопросы, такие как this. К сожалению, в моей ситуации они не помогают.
То, что я пытался и не получилось:
удаления "проходит BasicCalculatorTest" из класса декларации
добавляющие функции тестирования, которые используют @test аннотацию
импорт org.junit.runners. Параметрирование и использование @Parameters вместо @ Parameterized.Parameters
Мне нужно упомянуть, что я использовал очень похожую реализацию (в первую очередь аннотации и testGenerator()) в другом проекте без каких-либо проблем. Реализация следует за учебниками, доступными в Интернете, например this, this и this.
Любая помощь при решении этой проблемы очень ценится.
'@ Parameterized.Parameters (value =/* required here * /)' ошибка говорит, что атрибут 'значение' является обязательным. –
@PaulBellora, это была просто опечатка, спасибо, что указали это, я исправил ее, но проблема все еще остается. –
@BheshGurung, я знаю, что это говорит об этом, но я использовал его в другом проекте без (value =/* required here * /), и он работал отлично. Кроме того, ни один из связанных с ним руководств не использует это. –