Вопрос пользователя:
Ответ нейросети:
Для начала создадим консольный калькулятор, который будет уметь выполнять операции +, -, /, *:
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("Введите операцию (+, -, *, /):");
String operation = scanner.next();
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);
}
}
Теперь добавим зависимости в файл pom.xml для работы с TestNG и Allure:
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.14.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Теперь создадим тесты для калькулятора с использованием TestNG и Allure:
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class CalculatorTest {
@Test
public void testAddition() {
Assert.assertEquals(Calculator.add(2, 3), 5.0);
}
@Test
public void testSubtraction() {
Assert.assertEquals(Calculator.subtract(5, 3), 2.0);
}
@Test
public void testMultiplication() {
Assert.assertEquals(Calculator.multiply(2, 3), 6.0);
}
@Test
public void testDivision() {
Assert.assertEquals(Calculator.divide(6, 3), 2.0);
}
@Test(expectedExceptions = ArithmeticException.class)
public void testDivisionByZero() {
Calculator.divide(6, 0);
}
@DataProvider(name = "invalidInputs")
public Object[][] getInvalidInputs() {
return new Object[][] {
{ "abc", 2 },
{ 2, "def" }
};
}
@Test(dataProvider = "invalidInputs")
public void testInvalidInputs(Object num1, Object num2) {
Assert.assertThrows(NumberFormatException.class, () -> {
Calculator.add(Double.parseDouble(String.valueOf(num1)), Double.parseDouble(String.valueOf(num2)));
});
}
}
Теперь можно запустить тесты с помощью Maven и просмотреть результаты в Allure.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.