我尝试测试一个使用ActionBarActivity的Activity(来自appcompat库).我需要一个自定义应用程序才能操作DI系统来加载我的测试服务而不是真正的服务.
如果我编写了测试并调用startActivity,我会收到以下错误:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Run Code Online (Sandbox Code Playgroud)
如果我调用launchActivityWithIntent,Activity会启动而没有任何问题,但它使用的是我的Real Application类而不是Mocked Application类.任何想法如何解决这个问题或如何在应用程序的onCreate之后执行代码,但是在我的仪器测试中调用onCreate of my Activity之前?
android unit-testing android-activity android-actionbar android-actionbar-compat
我正在尝试使用 geohash (手动方式,因为我无法使用 postgres gis 的 geo 方法,因为我正在使用的框架)。
为此,我在 postgres ( geoHash text default ''::text not null) 中有一列来存储该值。
现在解决问题:假设我的列包含c28xzxe29h我尝试使用以下查询查询该记录的值:geoHash <= 'c28x~'但是它不会返回预期值(select 'c28xzxe29h' <= 'c28x~';returns False)。但是,此查询确实可以与 firestore 一起正常工作,并且在例如 javascript 中执行时也可以正常工作(在两种情况下都包含条目/返回 true)。我还用 Rust 对其进行了测试(println!("{}", "c28xzxe29h" <= "c28x~");返回true:https://play.rust-lang.org/)。所以不知道为什么所有编程语言似乎都同意,但 postgres 不同意。
问题是如何让 postgres 返回预期值(我用来geofire-commons生成在某些情况下吐出~字符的查询范围)。