Angular 库包括存根和测试帮助文件

Angular library include stubs and testing helper files

我有一个简单的 Angular 库供内部使用,带有一些管道和指令,该库用于多个项目。 当开发人员需要编写单元测试时,他们会为管道创建存根文件。他们在 5 个项目中有相同的存根,总是重复相同的代码。

我想要做的是为管道或指令提供这个存根文件,类似于 RouterTestingModule 所做的,包括测试模块或将存根本身包含在我的库中,但我没有不知道怎么做。

我是否必须创建一个 LibraryTestingModule 并将其包含在主 public_api 中并将其包含在 LibraryModule 中,这有意义吗?

我解决这个问题的方法如下:

src路径的同一层,创建一个testing文件夹。其中包括下一个文件

/src
/testing
┣ /src
┃ ┣ /stubs // my testing files here
┃ ┗ index.ts
┣ index.ts // barrel file
┣ package.json
┣ public_api.ts // similar to index.ts, entry point for public API of the package
┗ library-testing.module.ts // Angular module

对我来说,这就是诀窍,包括 package.json

中的以下几行
{
  "ngPackage": {
    "lib": {
      "entryFile": "public_api.ts",
    }
  }
}

有了所有这些,现在我可以使用 my-lib/some-pipe.ts 并且在测试文件中,现在我可以访问 my-lib/testing/some-stub-pipe.ts