制造业行业类别与代码:角模拟场 /属性与茉莉/业力(jasmine field)

我正在尝试测试一个组件,该组件使用一个方法组件内部调用的属性的服务。我需要根据测试来模拟和更改该属性。

我有这个:

export class XService{
  xProperty:boolean;
}
export class XComponent{
   ctor(private xService:XService){
   }
   xMethod():void{
     if(xService.xProperty){
         //some code
     }
   }
}

我尝试创建一个模拟并在 beforeEach 方法中添加属性

beforeEach(() => {
    /**more code**/
    xServiceMock = jasmine.createSpyObj(['xMethodService']);
    xServiceMock ['xProperty'] = false;
});

这工作得很好,直到我必须在其中一个测试中更改值。

it('x validation', () => {
    xServiceMock.xProperty = true;
    fixture.detectChanges();
    component.xMethod();<<<-- When it calls the method the change to TRUE is not refreshed
    expect(/****/).toBe(false);
  });

你知道我是否可以用茉莉嘲笑那处房产吗?有可能吗?

2

您可以使用模拟为您的服务

class MockXService extends XService{
   xProperty = false; // set a fake value here    
}

以这种方式将服务添加到提供商

beforeEach(async(() => {
TestBed.configureTestingModule({
  ...,
   declarations: [XComponent],
  providers: [
    { provide: XService, useClass: MockXService },
  ],
})

和你的测试

it('x validation', () => {
fixture.detectChanges();
component.xMethod();<<<-- When it calls the method the change to TRUE is not refreshed
expect(/****/).toBe(false);
});
0

这可以帮助您:https://next.angular.io/guide/testing#always-get-the-service-from-an-injector

基本上,当您在configureTestingModule中提供模拟 / 间谍 / 存根而不是真正的服务时,您需要在TestBed.get()之后获得它。

-1

使用 TestBed 测试 Angular 服务在大多数情况下会导致过载。检查我的答案here

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(152)
月份前面用on还是in:用“0”填充月份(asp month)
上一篇
Jquery判断是否存在某个class:jQuery:检查是否存在具有特定类名的div
下一篇

相关推荐

  • windy网页全球最佳的风速和天气预报网站

    Windy网页是一个在线气象服务,可以提供实时天气预报和历史数据。它使用了先进的地理信息系统(GIS)技术,可以提供高精度的地图、风速、温度、湿度、雨量等气象数据。Windy网页可以帮助用户获得有关当前和未来天气的准确信息,以便做出正确的决策。…

    2023-10-13 02:20:01
    0 26 34
  • 华为账号登录无法连接服务器:无法登录到 odoo服务器(odoo log in)

    关于华为账号登录无法连接服务器的问题,在odoo log in中经常遇到,我现在在 odoo 中创建数据时专门研究 odoo。我尝试将备份数据库文件从其他设备传输到我的本地主机,但在尝试登录时出现错误。在 web 中它说…

    2024-05-03 07:49:20
    0 58 68
  • 个人博客登录:使用 Sphinx编写个人网站和博客

    关于个人博客登录的问题,在python blogs中经常遇到,Sphinx是一个 Python 库,用于从一组ReST格式的文本文件中生成精美的文档。…

    2024-06-14 14:08:53
    0 20 17
  • 自己搭建网站服务器:为 domino服务器构建网站

    关于自己搭建网站服务器的问题,在dominos donation request中经常遇到,我需要做一个小网站托管在多米诺骨牌服务器,但据我所知,我不能使用一个简单的.html 文件或.php,而是它与一些奇怪的东西,如.nsf,对吧?…

    2024-02-09 15:42:44
    0 48 90
  • 个人博客网站html源码:使用 Sphinx编写个人网站和博客

    关于个人博客网站html源码的问题,在python blogs中经常遇到,Sphinx是一个 Python 库,用于从一组ReST格式的文本文件中生成精美的文档。…

    2024-03-18 02:48:18
    0 28 80
  • Hud in i:什么是HUDVIEW

    关于Hud in i的问题,在hud stand for中经常遇到,什么是 HUD 视图以及我们如何在 iPhone sdk 中使用或我想在 UIMagePickerController 中使用?…

    2024-06-09 05:52:07
    0 14 92
  • 个人网站代码编写:使用 Sphinx编写个人网站和博客

    关于个人网站代码编写的问题,在python blogs中经常遇到,Sphinx是一个 Python 库,用于从一组ReST格式的文本文件中生成精美的文档。…

    2024-03-03 04:34:13
    0 43 88
  • 学电脑编程学校:学校作业外壳编程(yeongin kim)

    关于学电脑编程学校的问题,在yeongin kim中经常遇到,所以这里是我应该编码的程序:…

    2023-12-21 06:09:21
    0 20 42

发表评论

登录 后才能评论

评论列表(25条)