- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道这很奇怪,但这就是我所拥有的。
我正在编写单元测试来检查 Android 应用程序的逻辑。在测试执行期间,我看到它在那一行失败了:
if (!TextUtils.isEmpty(fromFile))
在 if
语句 fromFile 等于 ""
(空字符串)之前,但不知何故它通过了它并中断了另一个不期望空字符串的逻辑.
深入调试我看到 fromFile.isEmpty()
返回正确的结果,但是 TextUtils.isEmpty(fromFile)
说它不是空的。
开源代码,我明白了:
public static boolean isEmpty(@Nullable CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
和 String.java:
public boolean isEmpty() {
return value.length == 0;
}
我有以下配置:jdk 1.8.0_77
我想避免在应用程序中支持 String.isEmpty() 的整个逻辑只是为了通过测试,因为我需要支持 Android API 9 之前的代码,而 String.isEmpty
不是可用,而且 TextUtils.isEmpty()
做更多。任何有关澄清和建议的帮助都会有所帮助。
有人遇到过吗?我该如何解决?提前致谢!
最佳答案
对于将来要面对的人:
我在好人的帮助下弄明白了,它与gradle中的android单元测试配置有关:
testOptions {
unitTests.returnDefaultValues = true
}
这为我指出了一个解决方案:摆脱您正在使用 JUnit(单元测试)测试的业务逻辑中的 android 依赖项。
我只是将 android.text.TextUtils
替换为我自己在 MyStringUtils.java
类中的方法,效果相同。
问题是 Android 方法在运行单元测试时默认返回默认值,并且它实际上并没有检查 fromFile
值本身,而是返回 stub /默认值。
关于java - JUnit4 TextUtils.isEmpty() 给出的结果与 String.isEmpty() 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846081/
var foo = { bar: ''}; 我经常看到这样的代码: if(foo.bar.isEmpty()){ //this line most of the time breaks
我希望能够编写一个条件,使我可以搜索所有具有特定DevelopmentOfInterest(hasMany)或根本没有任何线索的线索。 我的域模型如下所示: Lead { Set develop
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
如果您已经知道集合不为空,什么对性能更好。使用 Apache Commons 库中的 !collection.isEmpty() 或 CollectionUtils.isNotEmpty(collec
TextUtils.isEmpty(string)和string.isEmpty有什么区别? 两者都执行相同的操作。 使用 TextUtils.isEmpty(string) 有好处吗? 最佳答案 是
我知道这很奇怪,但这就是我所拥有的。 我正在编写单元测试来检查 Android 应用程序的逻辑。在测试执行期间,我看到它在那一行失败了: if (!TextUtils.isEmpty(fromFile
虽然 oracles 方法的描述说仅当字符串长度为 0 时才返回 true,但 string utils 方法的描述说该方法还会检查字符串是否为“null”。那我应该用什么方法呢?如果字符串的长度为
你能帮我解决这个 VBA 代码吗?我认为问题在于 IsEmpty 函数中的 Cells 函数,即 Excel 指责错误的行。由于评论,我做了一些更改,但它仍然没有运行。问题在于 IsEmpty 函数的
我正在尝试弄清楚一些基本的事情。我在探索标准库ArrayList.java时发现ArrayList具有方法isEmpty()的实现。 ArrayList.java: public boolean is
我通过以下方式在 Controller 中查看: $data = Lib::index(); $view = View::make('index') ->with('data'
我必须优化和算法,我注意到我们有一个像这样的循环 while (!floorQueues.values().stream().allMatch(List::isEmpty)) 似乎在每次迭代中它都会检
我有关于代码装饰的问题。 例如我应该处理来自 DAO 的对象 val user1 = DAO.get(token) val user2 = DAO.get(token) val user3 = DAO
我有一个双向链表,并且我编写了一个函数来检查列表是否为空。 函数代码: int isEmpty(list *l) { if(l->head== NULL && l->tail== NULL)
我在实现扩展函数以确定实体是否包含任何结果时遇到了一些问题。最终目标是确定实体是否有结果,如果没有,则在应用程序启动时将其播种(对于某些实体,如国家/地区列表等...) 这是我能够得到的地方,但是 s
这两种方法有什么区别? public boolean nameControl(String str) { if (str.trim().isEmpty()) return false;
我正在寻找一个 if 语句来检查输入字符串是否为空或仅由空格组成,如果不是则继续下一个输入。下面是我目前的代码,当我输入空格时会出错。 name = name.trim().substring
我无法在将提供的值缩小为空对应值的类型约束方面正确实现通用 isEmpty(value)。 用例: function getCountryNameById(countries: LookupItem[
我正在 Eclipse 中处理一个学校项目,当我尝试在 String 上使用 isEmpty() 方法时,Eclipse 显示以下错误: The method isEmpty() is undefin
当我尝试使用 isEmpty 函数检查模型是否为空时,Laravel 5.6 出现错误。 型号: namespace App\Models\Projectmanagement; use Illumin
isEmpty的实现在 Option很简单 - 这是一个草图: abstract class Option[+A] { def isEmpty:Boolean } object
我是一名优秀的程序员,十分优秀!