可以通过以下步骤实现:
interface KeyStorage {
fun saveKey(key: String)
fun getKey(): String
}
class SharedPrefsKeyStorage(context: Context) : KeyStorage {
private val sharedPreferences: SharedPreferences = context.getSharedPreferences("KeyStorage", Context.MODE_PRIVATE)
override fun saveKey(key: String) {
sharedPreferences.edit().putString("API_KEY", key).apply()
}
override fun getKey(): String {
return sharedPreferences.getString("API_KEY", "") ?: ""
}
}
class KeyStorageTest {
private val keyStorage: KeyStorage = SharedPrefsKeyStorage(mockContext) // 使用一个模拟的上下文对象
@Test
fun testKeyStorage() {
val apiKey = "YOUR_API_KEY"
keyStorage.saveKey(apiKey)
val storedKey = keyStorage.getKey()
assertEquals(apiKey, storedKey)
}
}
在这个示例中,我们通过KeyStorage接口和SharedPrefsKeyStorage类实现了在Kotlin多平台中存储API密钥并在commonTest中访问它们的功能。您可以根据实际需求选择合适的密钥存储机制,并使用相关的测试类和方法进行测试。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云