คำถามติดแท็ก chai

7
มอคค่า / ชัยคาดว่าจะไม่โยนข้อผิดพลาดที่ส่งออกไป
ฉันมีปัญหาในการให้ Chai expect.to.throwทำงานทดสอบแอพ node.js ของฉัน การทดสอบล้มเหลวในข้อผิดพลาดที่ส่งออกมา แต่ถ้าฉันปิดกรณีทดสอบเพื่อลองจับและยืนยันข้อผิดพลาดที่ตรวจพบ ไม่expect.to.throwทำงานเหมือนที่ฉันคิดว่าควรหรืออะไร? it('should throw an error if you try to get an undefined property', function (done) { var params = { a: 'test', b: 'test', c: 'test' }; var model = new TestModel(MOCK_REQUEST, params); // neither of these work expect(model.get('z')).to.throw('Property does not exist in …


7
ในการทดสอบมอคค่าขณะที่เรียกใช้ฟังก์ชันอะซิงโครนัสวิธีหลีกเลี่ยงข้อผิดพลาดการหมดเวลา: เกินกำหนดเวลาเกิน 2000 มิลลิวินาที
ในแอปพลิเคชันโหนดของฉันฉันใช้มอคค่าเพื่อทดสอบรหัสของฉัน ในขณะที่เรียกฟังก์ชั่นอะซิงโครนัสจำนวนมากโดยใช้มอคค่าฉันจะได้รับข้อผิดพลาดการหมดเวลา ( Error: timeout of 2000ms exceeded.) ฉันจะแก้ไขปัญหานี้ได้อย่างไร var module = require('../lib/myModule'); var should = require('chai').should(); describe('Testing Module', function() { it('Save Data', function(done) { this.timeout(15000); var data = { a: 'aa', b: 'bb' }; module.save(data, function(err, res) { should.not.exist(err); done(); }); }); it('Get Data By Id', function(done) { var …
200 node.js  mocha  chai 


4
ฉันจะทดสอบสัญญาอย่างถูกต้องกับมอคค่าและชัยได้อย่างไร
การทดสอบต่อไปนี้ทำงานผิดปกติ: it('Should return the exchange rates for btc_ltc', function(done) { var pair = 'btc_ltc'; shapeshift.getRate(pair) .then(function(data){ expect(data.pair).to.equal(pair); expect(data.rate).to.have.length(400); done(); }) .catch(function(err){ //this should really be `.catch` for a failed request, but //instead it looks like chai is picking this up when a test fails done(err); }) }); ฉันจะจัดการสัญญาที่ถูกปฏิเสธได้อย่างไร (และทดสอบ) ฉันควรจัดการกับการทดสอบที่ล้มเหลวได้อย่างไร …
148 node.js  promise  mocha  chai 

8
NodeJS UnhandledPromise การปฏิเสธคำเตือน
ดังนั้นฉันกำลังทดสอบส่วนประกอบที่ต้องอาศัยตัวปล่อยเหตุการณ์ เมื่อต้องการทำเช่นนั้นฉันจึงหาวิธีแก้ปัญหาโดยใช้สัญญากับมอคค่า + ชัย: it('should transition with the correct event', (done) => { const cFSM = new CharacterFSM({}, emitter, transitions); let timeout = null; let resolved = false; new Promise((resolve, reject) => { emitter.once('action', resolve); emitter.emit('done', {}); timeout = setTimeout(() => { if (!resolved) { reject('Timedout!'); } clearTimeout(timeout); }, 100); …

7
การทดสอบ Mocha API: การรับ 'TypeError: app.address ไม่ใช่ฟังก์ชัน'
ปัญหาของฉัน ฉันได้เข้ารหัส CRUD ง่าย API มากและฉันเพิ่งเริ่มต้นการเขียนโปรแกรมยังทดสอบบางอย่างใช้chaiและแต่ฉันมีปัญหาเมื่อการทดสอบการทำงานของฉันด้วยchai-http$ mocha เมื่อฉันเรียกใช้การทดสอบฉันได้รับข้อผิดพลาดต่อไปนี้บนเชลล์: TypeError: app.address is not a function รหัสของฉัน นี่คือตัวอย่างการทดสอบของฉัน ( /tests/server-test.js ): var chai = require('chai'); var mongoose = require('mongoose'); var chaiHttp = require('chai-http'); var server = require('../server/app'); // my express app var should = chai.should(); var testUtils = require('./test-utils'); chai.use(chaiHttp); describe('API Tests', …

2
คุณควรใช้การเรนเดอร์และตื้นในการทดสอบเอนไซม์ / ปฏิกิริยาเมื่อใด
ก่อนที่จะโพสต์คำถามนี้ฉันพยายามค้นหาใน sqa stackexchange แต่ฉันไม่พบโพสต์เกี่ยวกับตื้นและแสดงผลที่นั่นดังนั้นฉันหวังว่าจะมีคนช่วยฉันได้ที่นี่ ฉันควรใช้ตื้นและเรนเดอร์ในการทดสอบส่วนประกอบปฏิกิริยาเมื่อใด จากเอกสารของ airbnb ฉันได้แสดงความคิดเห็นเกี่ยวกับความแตกต่างของทั้งสอง: เนื่องจากตื้นเป็นการทดสอบส่วนประกอบเป็นหน่วยดังนั้นจึงควรใช้สำหรับส่วนประกอบ "หลัก" (เช่นตารางกระดาษห่อ ฯลฯ ) Render มีไว้สำหรับส่วนประกอบย่อย เหตุผลที่ฉันถามคำถามนี้คือฉันมีเวลายากที่จะคิดว่าฉันควรใช้อันไหน (แม้ว่าเอกสารจะบอกว่าคล้ายกันมากก็ตาม) ดังนั้นฉันจะรู้ได้อย่างไรว่าควรใช้อันไหนในสถานการณ์เฉพาะ
100 testing  meteor  reactjs  chai  enzyme 

9
Chai: วิธีทดสอบ undefined ด้วยไวยากรณ์ 'should'
จากบทช่วยสอนนี้ทดสอบแอป angularjs กับ chai ฉันต้องการเพิ่มการทดสอบสำหรับค่าที่ไม่ได้กำหนดโดยใช้สไตล์ "should" สิ่งนี้ล้มเหลว: it ('cannot play outside the board', function() { scope.play(10).should.be.undefined; }); มีข้อผิดพลาด "TypeError: ไม่สามารถอ่านคุณสมบัติ" should "ของ undefined" แต่การทดสอบผ่านไปด้วยลักษณะ "คาดหวัง": it ('cannot play outside the board', function() { chai.expect(scope.play(10)).to.be.undefined; }); ฉันจะทำให้มันทำงานร่วมกับ "ควร" ได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.