Как вы тестируете toString в JAVA? Я предполагаю, что это та же концепция, что и регулярное тестирование, но у меня действительно много проблем. Я не могу найти эту информацию в своем учебнике Big JAVA. Я прочитал все главы, которые мы рассмотрели не менее 5 раз. Я просто не вижу этого, и это никогда не охватывалось ни одной домашней работой.Тестирование единиц измерения в столбцах JAVA
Во-первых, я не понимаю, где в модульном тесте, где код представлен в первом примере, мой учитель положил «num» в assertTrue (text.contains (num));
Я понял, что она положила число, потому что мы следовали формату политики WholeLife. Ex.
WholeLifePolicy policy = new WholeLifePolicy(num, value, years, name);
Я подумал, так как это был пример, я бы тогда сделать то же самое, и, например, для номинальной стоимости, как показано ниже.
assertTrue(text.contains("Face Value:"));
assertTrue(text.contains(value));
Это не скомпилировано, потому что оно говорит, что оно несовместимо, потому что число является двойным. Поэтому я попробовал удвоить. Единственное, что компилируется, это «num»
Так что очевидно, что ни один из моих тестов не проходит. Вот мой код. для класса WholeLifePolicy, следуйте по тестовому классу.
Почему используется "num"? Это потому, что это явный параметр объекта политики? Или это только потому, что число там»Или другая причина
Очевидно, что все мой код ниже // комментарии Все остальное было представлено в источнике лаборатории
/**
* Return a string representation of the WholeLifePolicy.
*
* @return String output string.
*
* <pre>
* Produce output in the following format:
*
* Policy Information:
* Policy #: WLP1000000
* Policy Years: 20
* Face Value: 50000.0
* Beneficiary: John Doe
*
* </pre>
*/
public String toString()
{
String output = "Policy Information:\n";
output = output + "Policy #: " + this.getPolicyNum() + "\n";
// your code here, finish the output string
output = output + "Face Value" + this.getFaceValue() + "\n";
output = output + "Policy Years:" + this.getPolicyYrs() + "\n";
output = output + "Beneficiary" + this.getBeneficiary() + "\n";
return output;
}
}
ТЕСТ-КЛАСС:..
/**
* Test the toString method.
*/
@Test
public void testToString()
{
String num = "WLP1234567";
double value = 50000.0;
int years = 20;
String name = "Katie Perry";
WholeLifePolicy policy = new WholeLifePolicy(num, value, years, name);
String text = policy.toString();
assertTrue(text.contains("Policy Information:"));
assertTrue(text.contains("Policy #:"));
assertTrue(text.contains(num));
// your code here, finish the testing of the toString() method
// checking for both the headings and face value, policy years
assertTrue(text.contains("Face Value:"));
assertTrue(text.contains(num));
assertTrue(text.contains("Policy Years:"));
assertTrue(text.contains(num));
assertTrue(text.contains("Beneficiary:"));
assertTrue(text.contains(num));
}
}
это хороший вопрос. Это связано с тем, что эта книга Big Java охватывает только частичное тестирование на 2 страницах очень кратко, и я совершенно смущен тем, как эти тесты действительно проверяют вещи, и как, или если они даже связаны с обычным классом. Мне действительно нужна информация, которая написана для новичков, на языке начинающих, которая разбивает модульное тестирование на отдельные части и объясняет, что делает каждая часть и почему. Я все еще борюсь с этим классом toString после многих, многих, часов. – jforrest1980