Junit Test FailJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Junit Test Fail

Сообщение Anonymous »

Я работаю над заданием класса, на которое мы используем Junit для проверки нашего кода. У меня есть три тестирования, и я не уверен, как это исправить. Я не уверен, что это тест, который я закодировал неправильно или свои методы. Мое создание задачи, обновленное имя и обновленное описание - это те, которые терпят неудачу. Но мой уникальный удостоверение личности и удаления работает. Ниже приведены мои методы < /p>
public class TaskService {

//variables
public static String taskId;
public String taskName;
public String taskDescrip;

//create an array for task list
static ArrayList taskList = new ArrayList(0);

//creates unique IDs
public static String generateUniqueId() {

String uniqueId;

//pulls the latest Id value in array as long as its not empty
if (taskList.isEmpty()) {
taskId = "1000000000";
}

else {
int arraySize = taskList.size();
taskId = taskList.get(arraySize - 1).getId();
}

// this will convert the id string into a integer to increment (making new id) then change it back to a string
int tempInt = Integer.valueOf(taskId);
tempInt += 1;
uniqueId = Integer.toString(tempInt);
return uniqueId;
}

//creates task
public static void addTask(String name, String descrip) {
String Id = generateUniqueId();
Task Task1 = new Task(Id, name, descrip);
taskList.add(Task1);
}

//add task
public static void addTask(Task newTask) {
String tempId = newTask.getId();
for (int i = 0; i < taskList.size(); i++) {
if (tempId.equals(taskList.get(i).getId())) {
throw new IllegalArgumentException("Id must be unique");
}
}
taskList.add(newTask);
}

//updates name
public static void updateName(String uniqueId, String taskName) {
for (int i = 0; i < taskList.size(); i++) {
if (uniqueId.compareTo(taskList.get(i).getId()) == 0) {
taskList.get(i).setName(taskName);
}
}
}

//updates description
public static void updateDescrip(String uniqueId, String taskDescrip) {
for (int i = 0; i < taskList.size(); i++) {
if (uniqueId.compareTo(taskList.get(i).getId()) == 0) {
taskList.get(i).setName(taskDescrip);
}
}
}

//deletes task
public static void deleteTask(String uniqueId) {
for (int i = 0; i < taskList.size(); i++) {
if (uniqueId.compareTo(taskList.get(i).getId()) == 0) {
int position = i;
taskList.remove(position);
}
}
}

//search function for testing
public static int searchTask(String uniqueId) {
int result = 0;
for (int i = 0; i < taskList.size(); i++) {
if (uniqueId.compareTo(taskList.get(i).getId()) == 0) {
result = 1;
}
else {
result = 2;
}
}
return result;
}
}
< /code>
И это то, что я написал для тестов. < /p>
public class TaskServiceTest {

//Creation Test
@Test
@DisplayName("Task Creation")
void testTaskServiceClass() {
TaskService.addTask("Task Name", "Task Description");

assertTrue(TaskService.taskList.get(0).getId().equals("1000000001"));
assertTrue(TaskService.taskList.get(0).getName().equals("Task Name"));
assertTrue(TaskService.taskList.get(0).getDescrip().equals("Task Description"));
}

//Deletion Test
@Test
@DisplayName("Deletion Test")
void testTaskServiceDelete() {
TaskService.addTask("Task Service", "Testing Task Service");
int size = TaskService.taskList.size();
TaskService.deleteTask("1000000002");
assertTrue(TaskService.searchTask("1000000002") == 2);
}

//Test- update name
@Test
@DisplayName("Update name")
void testTaskServiceUpdateName() {
TaskService.addTask("Test 1", "Description");
int size = TaskService.taskList.size();
System.out.println(TaskService.taskList.get(size - 1).getId());
System.out.println(TaskService.taskList.get(size - 1).getName());
TaskService.updateName("1000000002", "Update Name");
System.out.println(TaskService.taskList.get(size - 1).getName());
assertTrue(TaskService.taskList.get(size - 1).getDescrip().equals("Update Name"));
}

//Test- update description
@Test
@DisplayName("Update Description")
void testTaskServiceUpdateDescrip() {
TaskService.addTask("Test 1", "testing description");
int size = TaskService.taskList.size();
System.out.println(TaskService.taskList.get(size - 1).getId());
System.out.println(TaskService.taskList.get(size - 1).getDescrip());
TaskService.updateDescrip("1000000002", "testing update description");
System.out.println(TaskService.taskList.get(size - 1).getDescrip());
assertTrue(TaskService.taskList.get(size - 1).getDescrip().equals("testing update description"));
}

// test- unique id
@Test
@DisplayName("Unique Id")
void testTaskServiceUniqueId() {
Task newTask = new Task("12345", "New Task", "Testing for unique Id");
TaskService.addTask(newTask);
Task duplicateId = new Task("12345", "New Task", "Testing for Id");
Assertions.assertThrows(IllegalArgumentException.class, () -> {
TaskService.addTask(duplicateId);
});
}
}
< /code>
Любое руководство очень приветствуется < /p>
Я попытался добавить заказ в свой тест на случай, если тест удаления повлиял на другой тест, и это было это, кажется, работает.

Подробнее здесь: https://stackoverflow.com/questions/794 ... st-failing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»