乐趣区

关于前端:jasmineobjectContaining-的单步调试

装璜好的 engine 调用 setup options:

engine 指的是下图这段绿色代码:

当初筹备执行上面这段代码了:

筹备调用被 mock 过的 engine 函数:

即下图 1 的函数:

只有 spy 被调用,其调用时传入的参数,必然能够被记录:

看这段代码:

jasmine.objectContaining 的实用场合:

jasmine.objectContaining 用于那些冀望只关怀理论中的某些键 / 值对的时候。

把这段代码革新一下:

it(`should pass setup options to the original engine`, () => {

      const jerry = jasmine.arrayContaining([{ provide: 'testToken', useValue: 'testValue'},
      ]);
      expect(originalEngine).toHaveBeenCalledWith(
        jasmine.objectContaining({
          bootstrap: 'TestModule',
          providers: jerry
        })
      );
    });

jasmine.objectContaining 返回的类型为:jasmine.ArrayContaining

ArrayContaining 类型定义如下:

单步调试:

返回的是一个新的 matcher?

就是一个简略的结构器:

而 objectContaing 的逻辑相似,也是一个简略的结构器。

把这两个对象进行比拟:

理论参数:

最初返回 true:

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版