android - 无法使用 Robolectric 测试 kotlin 接口
问题描述
目前,我正在使用一个名为 Robolectric 的测试框架。我想知道测试接口以检查其值和方法的正确方法是什么。例如,在下面的示例中,我有一个名为 TestInterface 的接口。我想测试这个接口是否可以工作。所以我设置如下,将接口变成一个对象。这是错误的方法吗?还是有更好的方法?我不擅长测试。因此,如果有一些示例或提示,它将非常有帮助。谢谢你。
@RunWith(RobolectricTestRunner::class)
class MySampleTest {
@Test
fun `test mysample `() {
val testName = "Test Name"
val userInput = "User Input"
val testResults = object : TestInterface {
override val testValue: String
get() = testName
override fun createTest(input: String): String {
return userInput+input
}
}.createTest(userInput)
assertTrue(keyPair.verify(userInput, testResults))
}
解决方案
因为我们不是在谈论 UI,所以说“测试界面”会让我感到困惑。我们只能为实现编写测试。否则我们可以测试什么?
您的项目中应该有一个或多个实现(如果没有,为什么甚至需要这个接口?),所以您可以测试它们。
推荐阅读
- python - Selenium,python 动态表
- ios - 以编程方式添加的自定义 UIBarButtonItem 不尊重 tintColor
- javascript - form.submit() 无法正常工作
- sql - 如何在 SQL 中从 PDF 创建 CDF
- java - dao.save 方法中的 NullPointerException
- servlets - HttpServletRequest, csrf 检查referrer header
- sql - 如何隐藏查询所需的列
- php - 侧边栏编辑器中的 WordPress Ken 主题错误 - “致命错误:未捕获的错误:函数名称必须是字符串”
- oracle - 连接oracle数据库时出现SSRS和SSAS数据源错误
- html - iframe 视频嵌入周围的黑框