gpt4 book ai didi

android 单元测试 spannablestringbuilder

转载 作者:行者123 更新时间:2023-11-29 00:04:02 24 4
gpt4 key购买 nike

我的一个类使用 SpannableStringBuilder,我需要为它编写单元测试代码。此类用于一般用途,不与任何 UI 组件交互。我将其视为本地单元测试,但 Android Studio 提示“未模拟单元测试”。我已经检查了 Android Mock 和 robolectric,但我不知道我必须模拟哪种仪器。我还尝试将测试放在 AndroidTest 目录下并将其作为仪器测试运行,但仍然出现错误“未找到类:”......“空测试套装”。

单元测试代码:

package xxxxxxx;  // Sorry but I should keep it secret now.

import android.support.test.filters.SdkSuppress;
import android.test.suitebuilder.annotation.SmallTest;
import android.text.SpannableString;
import android.support.test.runner.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

import xxxxxxx.HtmlParser;

import static org.junit.Assert.*;

@RunWith(AndroidJUnit4.class)
@SdkSuppress(minSdkVersion=16)
@SmallTest
public class HtmlParserTest {
@Test
public void TestGetHtml() {
// assertion goes here
}

@Test
public void TestGetPlainText() {
// assertion goes here
}
}

最佳答案

不知道是不是我做错了什么。最终我成功了,我会在这里发布解决方案供您引用。

如我的问题所述,此单元测试应在 Android 设备或模拟器上运行。所以要做的第一件事就是将它移动到 androidTest 目录中。只有这样,Android Studio 才会将其识别为插桩测试。还请记住按照 here 所述更新您应用的 gradle.build .但是 Android Studio(我的是 v2.1)不允许你直接运行这个测试(至少我不能)。您必须创建一个如下所示的测试套件:

package xxxxxxx.htmltestsuite;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;


@RunWith(Suite.class)
@Suite.SuiteClasses({
HtmlParserTest.class
})

// place holder class
public class HtmlTestSuite {}

关于android 单元测试 spannablestringbuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37464580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com