【问题标题】:Cannot find dependency module from a test or another class in same folder无法从同一文件夹中的测试或其他类中找到依赖模块
【发布时间】:2020-05-08 07:28:56
【问题描述】:

我们有许多 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

【问题讨论】:

    标签: angular typescript mocha.js angular9


    【解决方案1】:

    您必须指明service-base 文件。

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

    【讨论】:

    • 谢谢!我将 ServiceBase 的导入放在了测试中,但得到了同样的错误。
    【解决方案2】:

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

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

    import { ServiceBase } from '../../service-base';
    

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2018-10-26
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      相关资源
      最近更新 更多