我有正则表达式
final public static Pattern ONLY_LATIN_LETTERS = Pattern.compile("[\\p{LATIN}\\p{S}\\p{P} ]*");
在Android设备上运行正常。 当我使用Robolectric运行测试时,在创建模式时会出现异常,因为LATIN未被识别为字符属性名称。如果我使用:
final public static Pattern ONLY_LATIN_LETTERS = Pattern.compile("[\\p{IsLatin}\\p{S}\\p{P} ]*");
它适用于Robolectric,但它会在设备上引发异常。
这是否意味着Robolectric在测试设备上的行为方面不可靠?
我正在使用:
testCompile "org.robolectric:robolectric:3.0"
testCompile "org.robolectric:shadows-support-v4:3.0"
testCompile "org.robolectric:shadows-multidex:3.0"
compile 'junit:junit:4.8.2'
答案 0 :(得分:0)
目前我的解决方案是使用AndroidJunit4跑步者运行Android Connected测试。 在这种情况下,您在真实设备上运行应用程序,并在那里看到可用的char属性名称。