Как использовать DataProviders или их аналоги в тестовом классе с аннотацией @RunWith (SpringRunner :: class) с использованием наследования - PullRequest
0 голосов
/ 07 сентября 2018

у меня тестовый класс

@RunWith(SpringRunner::class)
@SpringBootTest
@ActiveProfiles("dev")
open class RegisterTest : AuthService() {
    @Test
    fun negative_login_register_test() {
        val requestUser = 
                createUserWithIncorrectEmail("fsdfs@dfsdfsd..com")
        val errorResponseUser: ErrorResponse = 
                registerIncorrectUser(requestUser)
        Assert.assertEquals("User was found in fraud detection system", 
                errorResponseUser.errorMessage)
        Assert.assertEquals("100010", errorResponseUser.errorCode)
    }
}

Мне нужно использовать в этом тесте любые провайдеры данных или их аналоги, но мой вариант не работает.

Как видите, я наследую класс AuthService. Это класс @Configuration, и могу ли я использовать его для хранения моего класса DataProvider или Parameterized с моими сопутствующими объектами с параметрами и использовать его в моем тестовом классе? Как:

@Configuration
@RunWith(Parameterized::class) // Or (DataProvider::class)
@ComponentScan(value = "ignore")
@ContextConfiguration(
    classes = arrayOf(YAMLConfig::class), 
    initializers = arrayOf(ConfigFileApplicationContextInitializer::class))
open class AuthService {
    companion object {
        fun incorrectEmails() = setOf(
                "Joe Smith <email@domain.com>",
                "email@domain")
    }
}

Может, кто-то это сделал? не обязательно в kotlin, но объедините наследование и разных бегунов в @Configuration и @Run с классом.

P.S. Я планирую провести много тестов в одном классе? и для каждого @Test я хочу использовать разные Dataprovider (или его аналог)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...