我在我的单元测试中使用jest,当我的代码抛出一个意外的异常时,我有一个问题,jest不能处理它。 例如: async function func() {
throw new Error('ERROR');
}
test('test', async () => {
await func();
}); 我希望jest能告诉我哪里有异常,但我得到的结果是: TypeError: jasmine.Spec.isPendingSpecException is not a function
at returnValue.then.error
下面是一个关于如何模拟从测试文件外部调用的函数的示例。 math.js export const add = (a, b) => a + b;
export const subtract = (a, b) => b - a;
export const multiply = (a, b) => a * b;
export const divide = (a, b) => b / a; app.js import * as math from './math.js';
export const doAdd = (a, b) =&g
我有两个javascript A和B函数,定义如下,并通过另一个名为API的函数公开,如下所示,我想测试函数A,看看它是否调用了B。
function A () {
B()
}
function B () {
console.log('B is called')
}
export function API (){
return {
a: A,
b: B
}
}
我尝试我的测试函数的方式如下所示,它们不起作用。
import { API } from './actions-beta'
describe('test A&
我使用Jest在NodeJS上编写单元测试。有一种方法可以返回一个实体或一个实体数组。当我试图模拟这个方法的返回值时,我只能传递数组,但是需要一个实体。
npm i jest typeorm
const manager = new EntityManager(null);
const sale = new Sale();
jest.spyOn(manager, 'create').mockReturnValue(sale);
最后一个字符串导致错误:Argument of type 'Sale' is not assignable to parameter
我有一个服务(在Nestjs中),我想用Jest测试函数异常。
我的服务:
class MyService{
public throwError(ms: string) {
throw new UnprocessableEntityException(ms);
}
}
我想测试一下,但我不知道怎么做。
我是Jest的新手,我试着用它来测试函数是否被调用。我注意到mock.calls.length并不是为每个测试重置,而是在积累。我怎样才能在每次考试前达到0?我不希望我的下一个测试取决于以前的结果。
我知道Jest中有beforeEach -我应该使用它吗?重置mock.calls.length的最佳方法是什么?谢谢。
代码示例:
Sum.js:
import local from 'api/local';
export default {
addNumbers(a, b) {
if (a + b <= 10) {
local.getData()
我想使用Python运行一个IRibbonControl作为参数的vba宏。
例如,我的vba子程序如下所示
Public Sub test(control As IRibbonControl)
blabla
End Sub
和
然后Python使用win32com调用test。
测试函数的参数应该是什么?
import os
import win32com.client
from win32com.client import DispatchEx
xl = DispatchEx('Excel.Application')
xl.Workbooks.Open(
我正在使用被篡改的NestJS,并且正在使用Jest (ts-jest)运行测试。我的一个测试超过了5000 ms的超时,导致整个测试套件失败,但是命令行输出非常通用(见下文)。
● Test suite failed to run
nest-test |
nest-test | Timeout - Async callback was not invoked within the 50000 ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was no