Я работаю над собственной реализацией решателя неграмм.Я пишу это в javaScript и хотел сделать модульный тест для него с мокко.Я написал свой собственный класс, и я не уверен, как экспортировать его для использования в тестовом файле.
Это файл test.js.
const assert = require('chai').assert;
const script = require('../script');
describe('Clue Object', function() {
var result = script.Clue(10);
it('This should make a Clue object with lb: 10', function() {
assert.equal(result.lb, 10);
});
});
Это класс вмой основной файл сценария.
var exports = module.exports = {};
//----------------------------------------------------------------
// Classes
//----------------------------------------------------------------
/**
* This is the Clue class. It creates a clue object.
*
* @constructor
* @param {number} x - the length of a black run.
* @property {number} lb - the length of the black run.
* @property {number} rS - the starting cell of the range.
* @property {number} rE - the ending cell of the range.
*/
exports.Clue = function(x) {
this.lb = x;
this.rS = null;
this.rE = null;
Clue.prototype.setLB = function(x) {
this.lb = x;
}
Clue.prototype.setRS = function(x) {
this.rS = x;
}
Clue.prototype.setRE = function(x) {
this.rE = x;
}
}
Когда я пытаюсь запустить тест, я получаю сообщение об ошибке TypeError: script.Clue не является функцией.У меня есть небольшое понимание ошибки, но я все еще не уверен относительно того, как заставить ее работать правильно.
Проверка состоит в том, чтобы проверить, создан ли объект Clue и в нем есть сохраненный номер.