- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用 createSpyObj
创建 spy 对象时,and.callThrough
似乎并未实际运行原始实现。例如,假设我有一个具有以下辅助方法的 Angular 服务:
user.service.ts
:
class UserService {
getFullName(first: string, last: string): string {
return first + ' ' + last;
}
}
在规范中,我使用 createSpyObj
创建了一个 spy :
user.service.specs.ts
const userServiceSpy = jasmine.createSpyObj<UserService>('UserService', ['getFullName']);
// ....
beforeEach(() => {
userServiceSpy.getFullName.and.callThought();
const test = userService.getFullName('test1', 'test2');
console.log(test); // < = = = = = ISSUE: test is undefined! WHY ???
});
如何使 getFullName
函数像在主类中实现的那样运行?(我不想 stub 或调用伪函数,而是在调用 getFullName
时以某种方式使用主要函数实现)。
我尝试用原来的覆盖函数原型(prototype):
userServiceSpy.getFullName.prototype = UserService.prototype.getFullName;
第二次尝试:
userServiceSpy.getFullName = UserService.prototyp.getFullName; // This is a compile error.
最佳答案
我们需要使用callFake
,使用原型(prototype)中的函数实现如下:
userServiceSpy.getFullName.and.callFake(UserService.prototype.getFullName);
关于javascript - 使用 createSpyObj 创建 spy 时 callThrough 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59059391/
使用Chai,您可以创建一个 spy 对象,如下所示: chai.spy.object([ 'push', 'pop' ]); 使用 Jasmine ,您可以使用: jasmine.createSpy
在我的 Angular 测试中模拟依赖项时,我通常使用 jasmine.createSpyObj 创建一个 spy 对象。 : const serviceSpy= jasmine.createSpyO
我有一个函数调用另一个本身使用 http 订阅的函数,但我在测试它时遇到了问题... 我的组件 id = 1; myFunct() { this.myService.delete(this.id)
我有一个函数调用另一个本身使用 http 订阅的函数,但我在测试它时遇到了问题... 我的组件 id = 1; myFunct() { this.myService.delete(this.id)
我正在为我的 Angular 应用程序编写单元测试,并且正在学习如何使用 spy 。 目前,我的组件使用的每个服务,我都必须这样写 let fakeMyService = jasmine.create
当使用 createSpyObj 创建 spy 对象时,and.callThrough 似乎并未实际运行原始实现。例如,假设我有一个具有以下辅助方法的 Angular 服务: user.service
如何从 jasmine 导入 createSpyObj 属性? 我已经通过 npm 安装了 @types/jasmine 和 jasmine-core。 我尝试将 jasmine 导入为: impor
假设我有一个类: class MyRealClass { get propOne() { return stuffFromTheServer; } } 测试时,我想实现这个功能: const mo
我是一名优秀的程序员,十分优秀!