0

我们有许多 ts 类可以导入带有常量的文件。它就像我们的 ts 类的基础依赖。

这是 TS 类的示例(参见 ServiceBase):

import { ServiceBase } from 'src/app/service-base';
export class SomeService {

  private url = ServiceBase.ApplicationUrl;

   constructor() { }

测试文件:

    import * as chai from 'chai';
    import { SomeService } from './some.service';

   describe('SomeService', () => {
      let service: SomeService;
        beforeEach(() => {
          chai.should();
          service = new SomeService()
        });



        it('should be created', () => {
          let expected: any = (service == undefined);
          expected.should.be.false;
        });
    });

错误: 找不到模块'src/app/service-base'

当通过测试(甚至任何其他 ts 类)实例化服务时,如何以找到 ServiceBase 路径的方式创建该类的实例?

测试文件与任何 TS 类位于同一文件夹中。所以如果 ts 类找到了 ServiceBase,那么测试应该也可以。

src/app/services/someservice
--some-service.ts
--some-service.test.ts
src/app/
--service-base.ts
4

2 回答 2

0

使用相对路径似乎已经解决了这个问题:

import { ServiceBase } from 'src/app/service-base';

import { ServiceBase } from '../../service-base';
于 2020-05-08T08:47:47.373 回答
0

你必须指出service-base文件。

如果此文件与 位于同一级别some.service,则必须这样放置:import { ServiceBase } from './service-base';. 也许这会奏效。

于 2020-05-08T08:01:45.030 回答