java - 如何使用继承在带有@RunWith(SpringRunner::class) 注释的测试类中使用 DataProviders 或其类似物
问题描述
我有一个测试班
@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)
}
}
我需要在此测试中使用任何 dataProviders 或其类似物,但我的变体不起作用。
如您所见,我继承了 class 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
类中结合继承和不同的运行器。
PS我打算在一个班级进行很多测试?并且对于每个@Test
我想要使用不同的 Dataprovider(或他的类似物)
解决方案
推荐阅读
- windows - 从一组 png 图像创建动画 gif
- typescript - TypeScript - 函数内没有“分配之前使用变量”
- sql - 计算从日期到日期结束的格式 hh:mm:ss 差异的最佳方法是什么?
- android - 如何在颤振中正确使用地理定位器包?
- php - PHP转义数组内字符串中的特殊字符
- javascript - 从 CSS 完整选择器获取元素
- string - 如何在 Flutter 中将 Unicode 字符串转换为正确的字符串(中文)
- json - Flask/Python,我无法在我的 jinja2 模板上获取我的 json 返回的值
- python - 如何在 Windows cmd 中打印彩色 pyfiglet 文本
- windows - 排序 App-V 以安装/指向原始应用程序位置