如何为公共静态方法编写茉莉花业力测试用例?

查克拉博蒂

我在为方法本质上是公共静态的服务编写Jasmine-karma测试用例。我如何无法在spec.ts文件中访问它们或为它们编写测试用例。谁能告诉我如何?

这是我在app.service.ts中的方法

public static getModifiedDate(dateVal: any): string {
    if ('' === dateVal) {
      return null;
    }
    const year = dateVal.substring(
      dateVal.lastIndexOf('/') + 1,
      dateVal.length
    );
    const month = dateVal.substring(0, dateVal.indexOf('/'));
    const date = dateVal.substring(
      dateVal.indexOf('/') + 1,
      dateVal.lastIndexOf('/')
    );
    return year + '-' + month + '-' + date;
  }

在spec.ts文件中,我无法像我尝试的那样编写此功能的测试用例,

describe('AppService', () => {
  let service: AppService;
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [HttpClientTestingModule],
      providers: [RestClientService, AppService]
    });
    service = TestBed.get(AppService);
  }));

  it('getModifieddate should return date in the expected format', () => {
    const date = service.getModifiedDate('04/20/2017');
    expect(date).toEqual('2017-04-20');
  }); 
});

由于getModifiedDate是公共静态方法,因此显示错误。解决此问题的正确方法是什么?

uminder

您应该以静态方式调用static方法:AppService.getModifiedDate该测试可以简化如下:

describe('AppService', () => {
  it('getModifieddate should return date in the expected format', () => {
    const date = AppService.getModifiedDate('04/20/2017');
    expect(date).toEqual('2017-04-20');
  }); 
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用业力和茉莉花编写登录方法的单元测试

如何为角度项目编写简单的茉莉花和业力测试,以便将对象添加到对象数组

如何为角度6引导程序4模态的茉莉花单元测试用例

业力茉莉花:测试模式的结束

无法运行测试(茉莉花,业力,Webpack)

业力茉莉花测试 html 中的锚点数

茉莉花测试用例的angular.copy问题

茉莉花关闭按钮测试用例

Angular js的茉莉花测试用例

您如何编写业力/茉莉花集成测试,该测试将值依次传递到下一个测试?

在每个业力/茉莉花测试文件的开头如何引导角度?

如何使用业力和茉莉花测试screen.width条件

如何使用业力/茉莉花来测试这个简单的jQuery代码?

如何通过业力茉莉花指定`random:true`

如何在茉莉花测试用例中模拟事件停止在角度6中的传播

如何为节点运行以打字稿编写的茉莉花测试

如何在茉莉花中描述it()内部的测试用例

如何使用documet.getElementById和getElementsByClassName显示茉莉花测试用例不显示css属性

有条件地忽略使用业力/茉莉花进行的个别测试

茉莉花+业力+角度测试创建控制器

使用业力茉莉花进行单元测试时出现控制器错误

AngularJS测试:Yeoman应用程序中的量角器,业力,茉莉花

使用业力,茉莉花,jQuery进行测试并使用Browserify进行反应

业力/茉莉花单元测试中的“未定义不是对象”

检查 html 中的属性 - 角度指令测试茉莉花业力

AngularJS,路线解析,位置更改,单元测试,业力茉莉花

使用业力+茉莉花测试订阅角度2中的位置(this.location.subscribe)

使用业力茉莉花angular2测试空隙

由于 Angular7 上的虚拟滚动,茉莉花/业力测试失败