2017-07-16 55 views
2

我的契約模擬服務器在從我的測試中,我的協議模擬服務器與下面的配置運行不同的端口監聽:契約模擬服務器不返回正確的CORS頭

const provider = pact({ 
consumer: 'myconsumer', 
provider: 'myprovider', 
port: 8989, 
cors: true, 
log: path.resolve(process.cwd(), 'logs', 'pact.log'), 
dir: path.resolve(process.cwd(), 'pacts'), 
logLevel: 'DEBUG', 
spec: 1 
}); 

我使用要求上述模擬服務器「愛可信'並且該請求與我在提供者上配置的交互之一相匹配(按照pact.log)。但是響應總是會引發CORS錯誤。

我的協議日誌包含以下信息: 接收到模擬服務管理端點POST /交互的OPTIONS請求。返回CORS頭文件:{「Access-Control-Allow-Origin」:「null」,「Access-Control-Allow-Headers」:「x-pact-mock-service」,「Access-Control-Allow-Methods」 DELETE,POST,GET,HEAD,PUT,TRACE,CONNECT,PATCH「}。

Access-Control-Allow-Origin爲什麼是null而不是'*'。 ?

當我使用webpack,npm和基於摩卡的測試時,如何完全禁用CORS安全測試作爲最終度假村?

回答

2

該CORS標誌有點誤導。如果你的應用程序使用CORS,那麼你仍然需要告訴Pact,它應該按照cors標準預計請求OPTIONS。這是合同的一部分,你不能期望你的服務器能夠工作,所以它應該是你測試的一部分。

請參閱https://github.com/pact-foundation/pact-js/issues/58的背景。

相關問題