我有一个测试班
@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
类,是否可以将其与带有参数的伴随对象一起存储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(或他的类似物)