/dist/ 应该包含在玩笑测试中吗?

Bob*_*ose 6 testing typescript jestjs

我有一个 React typescript 项目,其中有一个内置于目录中foo.test.ts的目录。默认情况下,打字稿编译到该目录中。当我使用 Jest 运行测试时,它将在Typescript 测试和JavaScript 版本上进行测试。是否有理由排除,以便只存在一份测试副本 - 那个副本?或者相反,Jest 是否应该(以某种方式)忽略该版本并仅对该版本运行测试?foo.ts/src//dist/foo.test.tsfoo.test.js/dist//src//dist/*.test.tstsconfig.json/src//src//dist/

Imp*_*ity 0

就支持两者而言,这样做可能没有什么价值。无论您测试/src/*.test.ts还是/dist/*.test.js主要取决于偏好。*.ts然而,使用over也有好处*.js

我看到您正在使用Jest进行测试,因此我假设您正在使用ts-jestts-jest的价值在于它是一个“jest 转换器……让你可以使用 Jest 来测试用 typescript 编写的项目”;因此,您不需要手动将代码转换*.ts*.js测试代码。

相反,如果您不使用ts-jest或想要测试 ts-jest *.js,则必须在每次运行测试套件之前转译代码。如果您不这样做,或者 中存在过时的文件/dist/*,则可能会导致意外的测试套件结果。

就我个人而言,我建议忽略该/dist目录,并使用 ts-jest 来运行您的打字稿文件,因为它更简单。为此,在您的 中jest.config.js,忽略带有属性的路径testPathIgnorePatterns: ['<rootDir>/dist/']docs)或更新您的测试匹配以仅执行.ts testMatch: ['**/*.test.ts']