Yos*_*tik 8 javascript unit-testing typescript reactjs jestjs
我的应用程序中有一些循环依赖项。它不会影响生产,应用程序运行正常。但现在我开始使用 jest 编写单元测试,现在我的一些导入返回了undefined
。因此我无法编写一个测试。
即使当我尝试渲染整个应用程序时,导入中也有一些未定义的内容。
我无法删除这些循环依赖项,因为这会花费很多时间。
我该如何处理?
以下是 Jest 给出的一些错误示例
TypeError: Cannot read properties of undefined (reading 'sensorTypeRenderer')
4 | import { Renderers, ColumnDescriptionGenerators } from '@components';
> 6 | import sensorTypeRenderer = Renderers.sensorTypeRenderer;
Run Code Online (Sandbox Code Playgroud)
这是找不到服务,因为EventsGroupsStore
未定义
ServiceNotFoundError: Service with "<UNKNOWN_IDENTIFIER>" identifier was not found...
> 204 | return Container.get(EventsGroupsStore);
Run Code Online (Sandbox Code Playgroud)
问题并不在于循环依赖。我刚刚错误地配置了别名。
事情应该是这样的:
moduleNameMapper: {
"^@src(.*)": "<rootDir>/src$1",
"^@tests(.*)": "<rootDir>/tests$1",
"^@data(.*)": "<rootDir>/tests/mockData$1",
"^@domain(.*)": "<rootDir>/src/domain$1",
"^@service(.*)": "<rootDir>/src/service$1",
"^@utils(.*)": "<rootDir>/src/utils$1",
"^@view(.*)": "<rootDir>/src/view$1",
"^.+\\.(css|scss)$": "<rootDir>/tests/styleMock.js",
"^@resources": "<rootDir>/tests/styleMock.js",
"^@components(.*)": "<rootDir>/src/components$1",
},
Run Code Online (Sandbox Code Playgroud)
我只是没有添加(.*)
这些$1
归档时间: |
|
查看次数: |
6351 次 |
最近记录: |