我正在尝试使用Mockk来模拟对 的调用Locale.getDefault(),但是我似乎无法让它工作。有没有人成功地用来Mockk模拟Locale?
我非常简单的测试课
@Test
fun testName() {
val defaultLocale = mockk<Locale>()
mockkStatic(Locale::class)
every { Locale.getDefault() } returns defaultLocale
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
Run Code Online (Sandbox Code Playgroud) 我是Google TV开发人员,今天,在android sdk 14发布后不久,我更新了所有内容,从android sdk到eclipse ADT.从那时起,我无法创建Google TV虚拟设备.我完全删除了所有内容并试图进行全新安装.这是发生的事情:
只需安装Android 3.1和Google TV插件即可下载Android sdk:
$ android list targets
Available Android targets:
----------
id: 1 or "android-12"
Name: Android 3.1
Type: Platform
API level: 12
Revision: 3
Skins: WXGA (default)
ABIs : armeabi
----------
id: 2 or "Google Inc.:Google TV Addon:12"
Name: Google TV Addon
Type: Add-On
Vendor: Google Inc.
Revision: 2
Based on Android 3.1 (API level 12)
Skins: WXGA, 1080p-overscan, 1080p, 720p (default), 720p-overscan
ABIs : x86
$ android create avd -n …Run Code Online (Sandbox Code Playgroud) 我在为维度指定不同的依赖项debug和release构建类型时遇到问题。
在我的app.gradle我指定1 维和2 productFlavors,像这样:
android {
[...]
flavorDimensions "tier"
productFlavors {
free {
dimension "tier"
}
paid {
dimension "tier"
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想为所有构建变体(freeDebug、freeRelease、paidDebug、paidRelease)指定不同的依赖项,我尝试这样做:
dependencies {
freeDebugImplementation "com.someDependency:free-debug:1.0.0";
paidDebugImplementation "com.someDependency:paid-debug:1.0.0";
freeReleaseImplementation "com.someDependency:free-release:1.0.0";
paidReleaseImplementation "com.someDependency:paid-release:1.0.0";
}
Run Code Online (Sandbox Code Playgroud)
然而,这失败了
android {
[...]
flavorDimensions "tier"
productFlavors {
free {
dimension "tier"
}
paid {
dimension "tier"
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许我以错误的方式接近这个要求。任何帮助将不胜感激。
PS 我正在使用3.1.2android …