Я создал несколько методов для установки строки, получения строки и получения гласных следующим образом. Как написать тестовый пример JUnit для getVowels()
?Испытание Junit для возвращения гласных в строку ввода пользователя?
В тестовом примере, не следует ли указывать, какой правильный ответ? Так как пользователь может вводить любую строку, как мне сделать пропуск Junit или не выполнить тестовый пример? Что мне вводить в assertEquals
, как в последней строке тестового примера?
package sec.vowels;
import java.util.Scanner;
public class MyStrings implements MyStringInterface {
public String str;
public char c;
// Sets the value of the current string
public void setString(String str) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a sentence:");
str = input.next();
input.close();
System.out.println(str);
}
// Returns the current string
public String getString() {
return str;
}
public String getVowels(){
for (int i=0; i <str.length();i++){
c = str.charAt(i);
if((str.charAt(i) == 'a') ||
(str.charAt(i) == 'e') ||
(str.charAt(i) == 'i') ||
(str.charAt(i) == 'o') ||
(str.charAt(i) == 'u')){
}
System.out.println(c);
}
return str;
}
}
//test case.
public void testGetVowels() {
MyStrings test = new MyStrings();
String results = test.getVowels();
assertEquals("");
Единичные испытания должны повторяться. Это означает, что вы обычно не хотите полагаться на ввод пользователя. –
Поскольку метод 'getVowels()' не принимает аргументов и возвращает строку, это все, что вы можете проверить ... – alfasin
Какова цель 'getVowels()'? Что он должен делать? Вам нужно понять это, чтобы сформулировать тесты для этого. Описывая требования к нам, вы сможете лучше понять. –