- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于以下类 Texts
...
import android.support.annotation.NonNull;
import android.text.TextUtils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.Collections;
import java.util.List;
import hrisey.Parcelable;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@Parcelable
public final class Texts implements android.os.Parcelable {
@NonNull List<Text> texts = Collections.emptyList();
public boolean hasTexts() {
return !texts.isEmpty() && textsHaveValues();
}
private boolean textsHaveValues() {
for (Text text : texts) {
if (TextUtils.isEmpty(text.getValue())) {
return false;
}
}
return true;
}
}
...和文本
...
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import hrisey.Parcelable;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@Parcelable
public final class Text implements android.os.Parcelable {
private String textKey;
private String value;
}
...我写了这个单元测试:
@RunWith(JUnit4.class)
public class TextsTest {
private Texts texts;
@Before
public void setUp() {
texts = new Texts();
}
@Test
public void hasTextsWithSingleEmptyItem() throws Exception {
texts.setTexts(Collections.singletonList(new Text()));
assertThat(texts.hasTexts()).isFalse();
}
}
测试在 Android Studio 2.1.3 中成功,但当我在我的机器上运行 ./gradlew clean test
时它失败(MacOS 10.11.6、El Capitain、Java 1.7.0_79)。这是错误输出:
com.example.model.TextsTest > hasTextsWithSingleEmptyItem FAILED
org.junit.ComparisonFailure: expected:<[fals]e> but was:<[tru]e>
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:45)
at com.example.model.TextsTest.hasTextsWithSingleEmptyItem(TextsTest.java:31)
最佳答案
如何模拟 TextUtils
?使用默认的 Android 测试 stub 时,TextUtils.isEmpty(text.getValue())
部分应始终为 false
。
请务必使用合适的实现或考虑使用一组不同的字符串实用程序,这些实用程序您可能已经可以使用其他一些依赖项。
你是对的,谢谢!我用 Unmock plugin .所以我不得不unmock相关包以在单元测试中公开TextUtils
:
unMock {
keepStartingWith "android.text."
}
关于java - 在 shell 中执行时 JUnit 测试的 ComparisonFailure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44781705/
我正在运行一些 JUnit 测试,但遇到了 ComparisonFailure,但我无法理解为什么,因为我的实际和预期看起来完全一样。 correctline = " The following
我克隆了现有项目,其中有 JUnit-4.12 中的一些单元测试。这些测试在每次推送到远程存储库后启动,并且它们将成功结束,但是当我在 Eclipse 中的本地计算机上运行它们时,它们将以 Compa
对于以下类 Texts ... import android.support.annotation.NonNull; import android.text.TextUtils; import
junit.framework.ComparisonFailure: value (table=XXX, row=XXX, col=XXX) expected: but was: a
运行测试和 table3 的顺序始终不同,因此 AssertEquals 不起作用。 val expectedDataSet = new CsvDataSet(new File(BatchJobInt
我是 spring 和 dbunit 的新手,在测试我的 dao 层时遇到问题。该条目已成功插入,但测试以失败告终。你能帮帮我吗? import org.junit.Assert; import or
在 Junit 4 中,当 assertEquals(Object, Object) 失败时,您是否发现抛出 ComparisonFailure 而不是 AssertionError 有任何缺点? a
我需要将基于Maven的Spring Cloud Contract 2.0.0.RELEASE依赖关系转换为基于Gradle的程序。这是pom.xml。 UTF-8
我从之前成功运行但现在抛出此异常的测试用例中得到以下异常: java.lang.NoSuchMethodError: junit.framework.ComparisonFailure.getExpe
我是一名优秀的程序员,十分优秀!