我不熟悉Scala中的单元测试,我找不到一种方法来存根单例对象中定义的函数。
例如:
class Profile {
def getLatest
...
Feed.getLatestEntries
...
}
object Feed {
def getLatestEntries: Future[List[FeedEntry]] { /* Access some API*/ }
}
我试图对Profile类中定义的getLatest
函数进行单元测试。因为我不想在单元测试中通过web实际访问外部API,所以我尝试存根Feed
对象及其getLatestEntries
函数以返回一些预定义的值。
我研究了ScalaMock、EasyMock和Mockito框架,但找不到一种方法来存根单例对象的方法。ScalaMock状态
为什么所有的模拟框架都不提供这种功能?我该怎么做?存根Feed。获取最新版本
?
谢谢
我的方法是创建单例的逻辑作为特征,然后让对象扩展特征。这允许我提供Singleton作为默认或隐式参数,但提供了一个用于测试的存根实现
trait FeedLogic {
def getLatestEntries: Future[List[FeedEntry]] { /* Access some API*/ }
}
object Feed extends FeedLogic
def somethingWantingFeed(...)(feed: FeeLogic = Feed) = { ??? }
为了让单元测试跑一个批处理的任务,这个框架必须加载这个任务的ApplicationContext,两个注解的触发方式: @RunWith(SpringJUnit4ClassRunner.class):表明这个类需要使用Spring的测试工具 @ContextConfiguration(locations = {…}):表明哪些xml文件包含ApplicationContext @RunWith
在试验并发执行时,我想知道如何实际测试它。执行流程具有副作用性质,创建未来是为了包装独立的执行/处理。 我一直在寻找一些关于如何正确单元测试的好例子,下面的场景(和是我希望测试的方法): 情景#1 情景动机 立即返回,但调用两个执行单独任务的未来(例如,保存分析并将记录存储到数据库)。这些服务调用可以被模拟,但我试图测试的是,一旦我将它们包装在s中,这两个服务都会被调用 场景#2 情景动机 从可以
FuelPHP 以自动测试的想法建成,并且基于 PHPUnit 测试框架来包含测试和测试类别。 单元测试是什幺? 单元测试是被写来确保程式码单元(通常是一个函式或方法)是否有执行它原设计行为的自动测试。 这些测试也帮助开发者确保他们对系统所作的任何变更,不会破坏原有运作中的任何东西。 单元测试也是测试驱动开发(TDD)学问的关键原动力。 PHPUnit 你将需要本地安装的 PHPUnit,如果你想
我参考DataframeGenerator示例编写了单元测试,该示例允许您动态生成模拟dataframes 在成功执行以下命令后 在运行以下命令之一时,我会得到输出中显示的错误 输出 null null EDIT-1 My unit-test类包含以下几个方法 而如下所示
Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。