@Test
public void myTest() throws Exception {
Spanned word = new SpannedString("Bird");
int length = word.length();
}
引发异常
java.lang.RuntimeException:Android.text.SpannableStringInternal中的方法长度未被模拟。有关详细信息,请参见http://g.co/androidstudio/not-mocked。
这在上面的链接中解释为
我想学习,所以我准备在问答式下面加上我的答案。
在您的项目中设置Mockito并不难。步骤如下。
假设您使用的是jcenter存储库(Android Studio中的默认存储库),将以下行添加到应用程序的build.gradle文件的dependencies
块中:
testImplementation "org.mockito:mockito-core:2.8.47"
您可以将版本号更新为Mockito的最新版本。
dependencies {
// ...
testImplementation 'junit:junit:4.12'
testImplementation "org.mockito:mockito-core:2.8.47"
}
import static org.mockito.Mockito.*;
mock(theclassname.class)
.when
和thenreturn
执行此操作。这里有一个例子。真正的测试可能会使用模拟值作为正在测试的任何内容的某种输入。
public class MyTestClass {
@Test
public void myTest() throws Exception {
// 1. create mock
Spanned word = mock(SpannedString.class);
// 2. tell the mock how to behave
when(word.length()).thenReturn(4);
// 3. use the mock
assertEquals(4, word.length());
}
}
还有很多要嘲笑的。请参阅以下参考资料以继续学习。
我目前正在与CDI Unit合作一个项目,我遇到了一个奇怪的问题。我试图在一个简单的项目中重现它: 我有一个使用CdiRunner运行的测试类(如下所述:http://jglue.org/cdi-unit-user-guide/我的测试类注入了被测试的单元:UUD。这个类扩展了一个超级类“ParentTestClass”,它目前是无用的。 测试课。爪哇: 正如我提到的,父类是空的。 ParentT
问题内容: 我有一些Junit单元测试,需要大量的堆空间才能运行-即1G。(他们测试了一个Webstart应用程序的内存密集型功能,该功能仅在具有足够的堆空间的情况下运行,并且将在Win 7 64位计算机上内部运行-因此,重新设计测试不是一个实际的建议。) 我正在Intellij IDEA中进行开发,因此我知道可以为测试类设置JVM参数(例如-Xmx1024M)。但是,这仅用于运行整个测试类-如果
问题内容: 我正在使用RestTemplate 方法将正文发布到端点。我需要使用Mockito为我的代码编写测试用例的帮助。返回类型为void,但是可以将其更改为,或者需要进行测试。我已经提到了许多其他文档,但是它们非常笼统,我尝试使用它们,但是由于and和return类型是不同的,所以大多数对我来说都不起作用。。任何建议表示赞赏。谢谢 这是我的Java课 问题答案: 您正在测试MyClass类中
进程结束,退出代码-1
我在java中使用mockito编写单元测试。 这就是我要测试的声明。 电影是电影名称的集合,是识别电影的关键。 我嘲笑了守望者班 Mockito.when(watcher.watch(Matchers.any(Set.class))) “thenReturn”中包括什么??
如果我们需要自定义本地单元测试配置,可以这样做. 操作步骤: 打开Run\/Debug Configurations对话框 —> 点击左上角的+号 —> Android Tests 然后新增一个Android Tests配置窗口: 1.Name: 输入配置名 2.Module:选择需要测试的模块 3.Test: 指定测试范围 4.指定instrumentation runner 5.指定目标设备.