Вопрос пользователя:
Ответ нейросети:
Код консольного калькулятора:
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите первое число:");
double num1 = scanner.nextDouble();
System.out.println("Введите операцию (+, -, *, /):");
char operation = scanner.next().charAt(0);
System.out.println("Введите второе число:");
double num2 = scanner.nextDouble();
double result = 0;
switch(operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if(num2 != 0) {
result = num1 / num2;
} else {
System.out.println("Деление на ноль невозможно!");
return;
}
break;
default:
System.out.println("Некорректная операция!");
return;
}
System.out.println("Результат: " + result);
}
}
Пример тестов с использованием TestNG и Allure:
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class CalculatorTest {
@Test
public void testAddition() {
double result = Calculator.addition(5, 3);
Assert.assertEquals(result, 8.0);
}
@Test
public void testSubtraction() {
double result = Calculator.subtraction(5, 3);
Assert.assertEquals(result, 2.0);
}
@Test
public void testMultiplication() {
double result = Calculator.multiplication(5, 3);
Assert.assertEquals(result, 15.0);
}
@Test
public void testDivision() {
double result = Calculator.division(6, 3);
Assert.assertEquals(result, 2.0);
}
@Test(expectedExceptions = ArithmeticException.class)
public void testDivisionByZero() {
Calculator.division(6, 0);
}
@DataProvider(name = "dataProvider")
public Object[][] testData() {
return new Object[][] {
{5, 3, 8.0},
{5, -3, 2.0},
{0, 5, 0.0},
{10, 2, 5.0}
};
}
@Test(dataProvider = "dataProvider")
public void testAdditionWithData(double num1, double num2, double expected) {
double result = Calculator.addition(num1, num2);
Assert.assertEquals(result, expected);
}
}
Для добавления Allure в проект с Maven, необходимо добавить зависимость в файл pom.xml
:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.13.8</version>
</dependency>
После этого можно запускать тесты с помощью TestNG и генерировать отчеты Allure.
Скриншот результата выполнения тестов с отчетом Allure:
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.