У меня есть программа, содержащая 3 параметризованных метода, которые получают аргументы из командной строки. Я хотел бы протестировать их, и я написал тест в JUnit, щелкнув правой кнопкой мыши на исходном классе и нажав новый тест Junit. В классе испытаний я аннотировал класс, как @RunWith(Parameterized.class)
, и параметризованные методы, как @Parameters
и testmain
, как @test
.Параметрированный тест в JUnit
В каждом методе я создал ссылку для исходного класса, и я вызвал методы и передал необходимые параметры. Теперь есть ошибка инициализации, в которой говорится, что в тестовом классе нет открытых статических методов. Может ли кто-нибудь посоветовать мне, если это правильный способ проведения теста, а если нет, то какой способ это сделать.
Просто, чтобы сделать себе ясно, я приведу пример того, что я сделал до сих пор (это не исходный код.)
@RunWith(Parameterized.class)
Public class customertest(){
@Parameters
public testmethod1(String a, String b){
customer test = new customer();
test.method1(a, b);
}
@Parameters
public testmethod2(String c, String d){
customer test = new customer();
test.method2(c, d);
}
@parameters
public testmethod3(String e){
customer test = new customer();
test.method3(e);
}
@Test
public static void testmain(String [] args){
customertest tester = new customertest();
tester.testmethod1(args[0], args[1]);
tester.testmethod2(args[2], args[3]);
tester.testmethod3(args[4]);
}
}
customertest - это класс, который имеет в нем модульные тесты? –
Да и клиент - это класс, который я тестирую. – newtoprogramming
, так что вам обязательно нужно создать экземпляр тестируемого класса, а не класса, который получает тесты –