![](/img/trans.png)
[英]How to run javascript unit tests against different dependency versions?
[英]Pact dependency stopping tests being run
Pact
依賴於名為make-error-cause
的 package 。 在它的index.js
中,它聲明了一個方法,然后是一個同名的 var。
Jest/Typescript 不喜歡這樣。 當使用Jest
運行時,我們所做的任何事情都不會允許我們的測試運行,我們不斷收到此錯誤:
SyntaxError: /Users/user1234/Documents/Workspace/aws_stack/node_modules/make-error-cause/dist/index.js: Identifier 'makeErrorCause' has already been declared (12:4)
這是來自make-error-cause
的index.js
的代碼片段:
var makeError = require('make-error');
function makeErrorCause(value, _super) {
if (_super === void 0) { _super = makeErrorCause.BaseError; }
return makeError(value, _super);
}
var makeErrorCause;
我們試過@pact-foundation/pact
和pact-jest
都有同樣的問題。
版本:“@pact-foundation/pact”:“^9.10.0”“typescript”:“^3.8.3”“jest”:“24.9.0”“ts-jest”:“^24.3.0”“@類型/笑話": "^24.0.25"
如果我改變var makeErrorCause;
到var makeErrorCause2;
,問題就消失了。 顯然,這不適用於其他試圖構建它的人......
任何幫助表示贊賞。
好吧,這很糟糕! 這個問題應該屬於https://github.com/pact-foundation/pact-js 。 看起來是致命的——你能把它和我們可以使用的復制品一起提出來嗎?
我們的構建(兩個項目)在每次提交時都會測試 Jest,因此它可能是我們需要排序的依賴項版本的組合。
請參閱https://github.com/pact-foundation/pact-js/issues/606 ,該問題與開玩笑的配置問題有關:
preset: 'react-native',
// transformIgnorePatterns: ['node_modules/(?!(react-native|uilib)/)'], ## uncomment this, it's fine.
// transformIgnorePatterns: ['node_modules/uilib/'] ## if I uncomment this, it will fail
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.