如何对自动化功能调用进行单元测试

时间:2019-06-18 07:24:41

标签: angular typescript jasmine

我有一个可以注册组件的柜台。 register方法需要一个元素以及回调的时间(滴答数)。

类似于:

Service.ts:

new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
          // This is your code  
        } 
    });

元素到期后,将其从二叉树中取出,并调用该元素的回调函数。

Service.ts:

registerElement(element: any, ticksToCallback: number): void {
  this.sortIntoTree(this.rootTreeElement, ticksToCallback, element);
}

注册很简单:

Component.ts:

 if (element.associatedObject.timeOutCallback() === 'function') {
   element.associatedObject.timeOutCallback();
   }

因此,我提供了元素,并在给定的滴答声之后,调用了元素自己的回调函数。

有没有一种方法可以在测试平台上实现timeOutCallback()函数并跟踪调用? “这个”是指测试平台内部的某些东西吗?

我知道异步任务必须在beforeEach()中实现,所以我正在运行:

Service.spec.ts

this.service.registerElement(this, givenAmountOfTicks);

1 个答案:

答案 0 :(得分:0)

我试图根据您提供的代码和描述重新创建体系结构:

element

我们在这里所做的是创建模拟registerElement(如您所述,它是组件)并将其传递给服务的timeOutCallback方法。请注意,我们仅提供SELECT SUBSTRING(vValue, INSTR(vValue, '@') + 1) FROM Runtime.dbo.Live WHERE ... 方法,因为我们仅对其进行测试,但是您可以监视其他方法,或者如果使用它们,则可以为属性提供一些假值。