Я пытаюсь написать контрольный пример, который ловит ошибку «Ошибка: укажите pitchWidth и pitchHeight».Но я не могу рассчитывать на ожидание броска в качестве успешного теста.
Код:
mocha.describe('testValidationOfBadInputData()', function() {
mocha.it('init game fails on pitch height', async() => {
let t1location = './init_config/team1.json'
let t2location = './init_config/team2.json'
let plocation = './test/input/badInput/badPitchHeight.json'
// let badFn = await validation.initGame(t1location, t2location, plocation)
expect(await validation.initGame(t1location, t2location, plocation)).to.throw()
}) })
Вывод:
1) testValidationOfBadInputData()
init game fails on pitch height:
Error: Please provide pitchWidth and pitchHeight
at Object.validatePitch (lib/validate.js:56:11)
at Object.initiateGame (engine.js:18:12)
at Object.initGame (test/lib/validate_tests.js:9:29)
Другие попытки также потерпели неудачу:
1)
expect(await validation.initGame(t1location, t2location, plocation)).to.throw(Error, 'Please provide pitchWidth and pitchHeight');
2)
expect(await validation.initGame.bind(t1location, t2location, plocation)).to.throw();
Не уверен, что я делаю неправильно, и документация не кажетсяочевидно.https://www.chaijs.com/api/bdd/#method_throw
async function initGame(t1, t2, p) {
let team1 = await common.readFile(t1)
let team2 = await common.readFile(t2)
let pitch = await common.readFile(p)
let matchSetup = engine.initiateGame(team1, team2, pitch)
return matchSetup
}
выше - функция, которую я вызываю.