我想对LiveData的结果序列进行单元测试。我有一个结果
LiveData,它在加载、成功或错误时发出值。我想对其进行测试,以确保首先发出加载值,然后是成功或错误值。
有办法做到这一点吗?
是的,这是可能的,我将包括一个使用 mockk 库的示例。假设您有一个视图模型和一个实时数据
@MockK
lateinit var observer: Observer<Your_type_here>
然后在“之前”(或者如果你只有一个测试,你可以粘贴到那里)功能中,你应该添加这个
viewModel.result.observeForever(observer)
every { observer.onChanged(any()) } just Runs
在测试中,你会得到类似的东西
// given - your mocking calls here
// when
viewModel.doSomethingAndPostLiveDataResult()
// then
verifySequence {
observer.onChanged(Your_type_here)
observer.onChanged(Something_else)
}
进程结束,退出代码-1
为了让单元测试跑一个批处理的任务,这个框架必须加载这个任务的ApplicationContext,两个注解的触发方式: @RunWith(SpringJUnit4ClassRunner.class):表明这个类需要使用Spring的测试工具 @ContextConfiguration(locations = {…}):表明哪些xml文件包含ApplicationContext @RunWith
问题内容: 如何确定unittest方法的顺序?字母或数字前缀是否正确? 要么 问题答案: 您可以通过将sortTestMethodsUsing设置为None来禁用它:http ://docs.python.org/2/library/unittest.html#unittest.TestLoader.sortTestMethodsUsing 对于纯单元测试,您是对的。但是对于组件测试和集成测试…
我正在使用spring test运行JUnit测试,我的代码如下所示: 我想在所有测试之前回滚处于状态的数据库。表会回滚,但id生成的顺序会随着每次测试而增加。 请帮我找到在每次测试前设置起始值顺序的方法。 我正在使用Spring、Hibernate和HsqlDb
Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。
英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其