如何使用继承在{RunWith(SpringRunner :: class)批注中使用带有@RunWith(SpringRunner :: class)批注的测试类中使用数据提供者或其类似物

时间:2018-09-07 11:18:57

标签: java spring kotlin junit4

我有一个测试班

@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)
    }
}

在此测试中,我需要使用任何dataProvider或其类似物,但是我的变体无法正常工作。

如您所见,我继承了类AuthService。这是@Configuration类,是否可以将其与带有参数的伴随对象一起存储DataProviderParameterized类,并在测试类中使用它?喜欢:

@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(或他的类似物)

0 个答案:

没有答案