Jest是一个包含任务运行器、断言库和模拟支持的框架。这意味着它可以执行不同的单元测试用例,将结果写入控制台或日志文件,创建模拟,或者验证所有断言。简而言之,它将执行测试。
另一方面,酶是一个为编写单元测试提供简单接口的库。为此,它包装了React TestUtils、JSDOM和Cheerio等包。React TestUtils具有将React组件呈现到文档和模拟事件的方法。JSDOM是DOM(文档对象模型)的JavaScript实现。DOM表示UI组件的树结构。CheerIO实现了jQuery核心的子集,并用于查询DOM。
酶不是测试流。它没有自己的断言库。它只是为单元测试提供了一个API集合。这就是为什么它可以与Jest或任何其他任务运行器集成。
问题内容: 我正在尝试测试是否调用componentWillMount,为此我的测试是 但是,即使调用componentWillMount方法,测试也不会通过。我在这里想念什么? 问题答案: 我不知道其他答案是否对您的问题有所帮助,但是您不需要测试componentWillMount。React应该已经为您完成了该测试。 与您的测试更相关的是测试您要在组件中使用该方法的功能或动作。 如果要进行一些
问题内容: 我有一个React组件(为了演示该问题,对此进行了简化): 现在,我要测试提供的值的调用。 为此,我想创建一个代替组件方法的笑话模拟函数。 到目前为止,这是我的测试用例: 但是我在控制台中得到的只是: 语法错误 所以我的问题是,如何正确地用酶模拟组分方法? 问题答案: 可以通过以下方式模拟该方法: 您还需要在被测组件的包装器上调用.update,以便正确注册模拟功能。 语法错误来自错误
问题内容: 使用Mockito间谍的用例是什么? 在我看来,每个间谍用例都可以使用callRealMethod进行模拟处理。 我可以看到的一个区别是,如果您希望大多数方法调用都是真实的,则可以节省一些代码行以使用模拟与间谍。是这样还是我错过了更大的前景? 问题答案: 答案在文档中: 真正的部分模拟(自1.8.0开始) 最后,在邮件列表上进行了许多内部辩论和讨论之后,Mockito添加了部分模拟支持
Jest文档中写道: 另外,是否有使用和的最佳实践(不仅在Jest中,而且在其他测试框架中)?
我创建了这个类: 在服务中: 我想知道,在开玩笑的情况下,是否可以这样做: